centos6.5下redis的安裝與配置
$ wget http://download.redis.io/releases/redis-3.2.9.tar.gz
$ tar xzf redis-3.2.9.tar.gz
$ cd redis-3.2.9
$ make 或者 make install PREFIX=安裝目錄
上述流程依次代表,下載redis --> 解壓 --> 進入解壓目錄 --> 編譯原始碼
多數情況下,執行make時,可能會出現如下錯誤:
異常一:
make[2]: cc: Command not found
異常原因:沒有安裝gcc
解決方案:yum install gcc-c++
異常二:
zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
異常原因:一些編譯依賴或原來編譯遺留出現的問題
解決方案:make distclean。清理一下,然後再make。
在make成功以後,需要make test。在make test出現異常。
異常一:
couldn't execute "tclsh8.5": no such file or directory
異常原因:沒有安裝tcl
解決方案:yum install -y tcl。
到此,redis安裝完成。
若是通過:make install PREFIX=安裝目錄, 完成安裝的,會在安裝目錄下生成一個bin目錄,bin目錄下包含如下可執行檔案:
redis-benchmark : 用於測試redis的效能。
redis-check-aof : 當aof備份檔案被損壞,可通過該工具對aof檔案進行修復,使用方式:redis-check-aof --fix 要修復的aof檔案。
redis-check-rdb : 修復損壞的rdb備份檔案。
redis-cli : redis客戶端,用於連線服務端。
redis-server : redis伺服器端,用於啟動redis伺服器。
redis-sentinel : 哨兵模式(實際使用較多) 在master-slave模式下(slave預設不支援寫),當master出現異常時,自動在slave中選擇一臺作為master。
連線上redis伺服器後,可通過指令“info
下面介紹幾個redis常用配置項(redis.cnf配置檔案中配置)
1、bind 127.0.0.1 配置redis伺服器接受連結的網絡卡(非客戶端ip,而是伺服器端ip,伺服器可能包含多個網絡卡)
2、protected-mode yes redis以保護模式執行,只接受本地連結,不能外網訪問
3、port 6379 redis接受連結埠
4、daemonize no redis是否後臺執行,若為yes,客戶端視窗將被鎖定
重要配置項
5、maxmemory redis最大使用記憶體
6、maxmemory-policy 記憶體達到最大值時的驅逐策略
redis資料持久化支援兩種模式:RDB和AOF
RDB:rdb方式的持久化是通過快照完成的,當符合一定條件時redis會自動將記憶體中的所有資料執行快照操作並存儲到硬碟上。預設儲存在redis根目錄的dump.rdb檔案中。(檔名在配置檔案中dbfilename)
redis進行快照的時機(在配置檔案redis.conf中) save 900 1:表示900秒內至少一個鍵被更改則進行快照。 save 300 10 save 60 10000dbfilename dump.rdb 快照儲存檔名
dir ./ 快照儲存地址
也可通過redis客服端執行命令save或者bgsave儲存快照:
兩個命令的區別在於,save是由主程序進行快照操作,會阻塞其它請求。bgsave是由redis執行fork函式複製出一個子程序來進行快照操作。檔案修復:redis-check-dumprdb的優缺點優點:由於儲存的有資料快照檔案,恢復資料很方便。缺點:會丟失最後一次快照以後更改的所有資料。AOF:
aof方式的持久化是通過日誌檔案的方式,記錄下redis伺服器的每一條修改指令。預設情況下redis沒有開啟aof,可以通過引數appendonly引數開啟。
appendonly yes aof檔案的儲存位置和rdb檔案的位置相同,都是dir引數設定的,預設的檔名是appendonly.aof,可以通過 appendfilename引數修改 appendfilename appendonly.aof redis寫命令同步的時機: appendfsync always 每次都會執行 appendfsync everysec 預設 每秒執行一次同步操作(推薦,預設) appendfsync no不主動進行同步,由作業系統來做,30秒一次redis伺服器啟動時會讀取appendonly.aof中的指令,進行執行,這樣便保證了重啟後資料不會丟失。注意:當redis啟動時,如果rdb持久化和aof持久化都打開了,那麼程式會優先使用aof方式來恢復資料集,因為aof方式所儲存的資料通常是最完整的。
最後記錄下redis伺服器的啟動與關閉指令:
[[email protected] src]# ./redis-server ../redis.conf 啟動redis
[[email protected] src]# ./redis-cli shutdown 關閉redis
轉至:https://www.cnblogs.com/yinz/p/7065146.html