redis学习笔记-安装与入门
Linux下安裝redis
mkdir /usr/local/redis && cd /usr/local/redis 下載:wget http://download.redis.io/releases/redis-3.0.5.tar.gz 解壓:tar xzf redis-3.0.5.tar.gz 安裝到指定目錄: cd redis-3.0.5 make PREFIX=/usr/local/redis install將redis做成一個服務
復制并重命名腳本
cp /usr/local/redis/redis-3.0.5/utils/redis_init_script /etc/rc.d/init.d/redis
因為默認redis服務不支持chkconfig,所以需要修改redis腳本,增加:
#chkconfig: 2345 80 90
注意腳本中EXEC、CLIEXEC的路徑是否正確(對應redis-server、redis-cli的安裝目錄)
復制conf文件到相應位置,與腳本中CONF配置一致
cp /usr/local/redis/redis-3.0.5/redis.conf /etc/redis/6379.conf
添加并啟動服務
chkconofig --add redis
service redis start
將redis的命令所在目錄添加到系統參數PATH中
vi /etc/profile export PATH="$PATH:/usr/local/redis/bin" 這樣我們可以直接使用redis-cli來連接redis服務器了,不用每次都跑到bin目錄下執行命令。查看redis版本
redis-server --version // 查看服務端版本 redis-cli --version // 查看客戶端版本 或者連接redis server后使用info命令也可以查看基本數據類型和常用命令
數據類型
redis的鍵總是一個字符串對象,而值則可以是任意一種Redis對象類型,包括字
符串對象、哈希表對象、列表對象、集合對象和有序集合對象,分別對應字符串鍵
哈希表鍵、列表鍵、集合鍵和有序集合鍵。
redis會根據不同的使用場景來為一個對象設置不同的編碼,從而來優化對象在某一場景下的效率。
常用命令列表
redis持久化
因為redis是內存數據庫,它將自己的數據庫狀態儲存在內存里面,所以如果不想辦法將儲存在內存中的數據庫狀態保存到磁盤里面,那么一旦服務器進程退出,服務器中的數據庫狀態也會消失不見。
為了解決這個問題,redis提供了兩種持久化機制:RDB & AOF。可以將redis在內存中的數據庫狀態保存到磁盤特定文件里,在redis服務器啟動之初會讀取該文件來重新構建數據庫,以保證啟動后數據庫中的數據是完整的。
RDB
在指定的時間間隔內將內存中的數據集快照寫入磁盤。
通過命令執行
save // 阻塞服務器其它操作 bgsave // 通過子進程執行,非阻塞redis自動間隔性保存
根據conf配置文件中save選項來設置:
如圖,默認900秒1次修改、300秒10次修改、60秒10000次修改redis會自動執行RDB持久化。
AOF
以日志的形式記錄服務器所處理的每一個寫操作,如果服務器開啟了AOF持久化(appendonly yes)功能,那么服務器會優先使用AOF文件來還原數據庫狀態。
持久化實現
追加至aof_buf緩存區 -> 文件寫入 -> 文件同步(保存),服務器配置的appendfsync選項的值直接決定AOF持久化功能的效率和安全性。
AOF文件重寫
因為AOF持久化是通過保存被執行的寫命令來記錄數據庫狀態的,所以隨著服務器運行時間的流逝,AOF文件中的內容會越來越多,文件的體積也會越來越大,如果不加以控制的話,體積過大的AOF文件很可能對redis服務器、甚至整個宿主計算機造成影響,并且AOF文件的體積越大,使用AOF文件來進行數據還原所需的時間就越多。
為了解決AOF文件體積膨脹的問題,redis提供了AOF文件重寫(rewrite)功能。通過該功能,redis服務器可以創建一個新的AOF文件來替代現有的AOF文件,新舊兩個AOF文件所保存的數據庫狀態相同,但新AOF文件不會包含任何浪費空間的冗余命令,所以新AOF文件的體積通常會比舊AOF文件的體積要小得多。
-
手動執行:
bgrewriteaof 設置自動觸發條件:
總結
以上是生活随笔為你收集整理的redis学习笔记-安装与入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MipMap
- 下一篇: MATLAB图像小波变换