1.基本配置
內存單位的表示
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
單位中不區分大小寫1GB 1Gb 1gB是一樣的
後臺運行,yes是後臺運行,no前臺運行,將輸出,輸出到終端(默認)
daemonize yes
如果daemonize參數爲yes的話就會產生pid文件,一下是pid文件的定義
pidfile /usr/local/redis-master/run/redis.pid
監聽的端口
port 6379
綁定監聽的IP地址
bind 127.0.0.1
如果在本地調用redis可以直接用sock文件
unixsocket /tmp/redis.sock //sock文件的位置
unixsocketperm 755 //sock文件的權限
如果一個鏈接在N秒內是空閒的,就將其關閉
timeout 0
如果對方down了或者中間網絡斷了發送ACK到客戶端在指定的時間內沒有收到對方的迴應就斷開TCP鏈接(時間單位秒記),此參數會受到內核參數的影響,推薦配置60。
tcp-keepalive 0
指定輸出消息的級別
# debug (調試級別,詳細信息,信息量大)
# verbose (詳細信息,信息量較大)
# notice (通知,生產環境推薦)
# warning (錯誤信息警告信息)
loglevel notice
日誌輸出文件,默認在前端運行的時候此key的默認值是stdout輸出到終端,如果用守護進程運行此key的stdout的時候將日誌輸入到/dev/null,如果想記錄日誌,就必須爲其指定logfile位置
logfile /var/log/redis.log
將日誌記錄的哦syslog
syslog-enabled no
指定syslog的身份
syslog-ident redis
指定syslog的級別,必須是LOCAL0-LOCAL7之間
syslog-facility local0
設置數據庫的數量
databases 16
設置數據庫的數量。默認數據庫DB 0,你可以選擇一個不同的per-connection的使用SELECT<dbid>這兒的DBID是一個介於0和'databases'-1
databases 16
2.快照配置
將DB保存到磁盤的規則定義(快照)
格式:save <seconds> <changes>
例子:save 900 1 //在900秒(15分鐘)內如果至少有1個鍵值發生變化 就保存
save 300 10 //在300秒(6分鐘)內如果至少有10個鍵值發生變化 就保存
save 900 1 //每一條表示一個存盤點
save 300 10
save 60 10000
如果啓用如上的快照(RDB),在一個存盤點之後,可能磁盤會壞掉或者權限問題,redis將依然能正常工作
stop-writes-on-bgsave-error yes
是否將字符串用LZF壓縮到.rdb 數據庫中,如果想節省CPU資源可以將其設置成no,但是字符串存儲在磁盤上佔用空間會很大,默認是yes
rdbcompression yes
rdb文件的校驗,如果校驗將避免文件格式壞掉,如果不校驗將在每次操作文件時要付出校驗過程的資源新能,將此參數設置爲no,將跳過校驗
rdbchecksum yes
轉儲數據的文件名
dbfilename dump.rdb
redis的工作目錄,它會將轉儲文件存儲到這個目錄下,並生成一個附加文件
dir /usr/local/redis-master/db
3.主從參數
如果本地是salve服務器那麼配置該項
# slaveof <masterip> <masterport>
slaveof 127.0.0.1 65532
master的驗證密碼
masterauth <master-password>
當從主機脫離主的鏈接時,如果此值爲yes當客戶端查詢從時,迴響應客戶端,如果是第一次同步回返回一個日期數據或這空值,如果設置爲no,則返回“SYNC with master in progress”到INFO and SLAVEOF
slave-serve-stale-data yes
從服務器只讀(默認)
slave-read-only yes
從發送ping到主的時間間隔(單位:秒)
repl-ping-slave-period 10
批量傳輸I / O超時和主數據或ping響應超時 默認60s 必須大於repl-ping-slave-period值
repl-timeout 60
此選項如果是“yes”那麼Redis的使用數量較少的TCP數據包和更少的帶寬將數據發送到,在從主機上延遲40毫秒(linux kernel中的40毫秒)出現。如果是no將在slave中減少延遲,但是流量使用回相對多一些,如果用多個從主機,此處建議設置成yes
repl-disable-tcp-nodelay no
從主機的優先級,如果當主主機掛了的時候,將從從主機中選取一個作爲其他從機的主,首先優先級的數字最低的將成爲主,0是一個特殊的級別,0將永遠不會成爲主。默認值是100.
slave-priority 100