1. 程式人生 > >centos6.5下redis的安裝與配置心得

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伺服器資訊,也可檢視伺服器知道內容資訊,例如:info replication 檢視主從相關資訊

下面介紹幾個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資料持久化支援兩種模式:RDBAOFRDB:rdb方式的持久化是通過快照完成的,當符合一定條件時redis會自動將記憶體中的所有資料執行快照操作並存儲到硬碟上。預設儲存在redis根目錄的dump.rdb檔案中。(檔名在配置檔案中dbfilename)
redis進行快照的時機(在配置檔案redis.conf中)   save 900 1:表示900秒內至少一個鍵被更改則進行快照。   save 300 10   save 60 10000
dbfilename dump.rdb   快照儲存檔名dir ./                快照儲存地址也可通過redis客服端執行命令save或者bgsave儲存快照:
 兩個命令的區別在於,save是由主程序進行快照操作,會阻塞其它請求。bgsave是由redis執行fork函式複製出一個子程序來進行快照操作。 檔案修復:redis-check-dump rdb的優缺點 優點:由於儲存的有資料快照檔案,恢復資料很方便。 缺點:會丟失最後一次快照以後更改的所有資料。
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