redis.conf配置事例
要掌握redis的用法,配置文件的重要參數(shù)必須掌握,下面是筆者對各個參數(shù)的學(xué)習(xí)筆記,同時會針對特殊參數(shù)的使用場景做簡短說明。
- include /path/to/other.conf
解釋:include和c里面的include概念類似,可以把redis的的參數(shù)分散到其他文件,當(dāng)運(yùn)行多個redis實例時,通過include一個common的配置文件讓所有redis-server共享,簡化redis.conf的內(nèi)容。
- daemonize no
解釋:
毋容置疑,這個參數(shù)指定redis是否以后臺進(jìn)程方式啟動,默認(rèn)不是,生產(chǎn)環(huán)境可以改成yes,另外,Redis是單線程的。
- pidfile /var/run/redis.pid
解釋:
當(dāng)daemonize參數(shù)為yes時,后臺進(jìn)程方式啟動后,redis會創(chuàng)建進(jìn)程文件,這個參數(shù)是指定此文件的路徑。
- port 6379
解釋:redistcp 監(jiān)聽端口,客戶端通過此端口與redis服務(wù)器交互。非集群模式下,redis只有這個監(jiān)聽端口
- tcp-backlog 511
解釋:客戶端連接隊列值,這個值是socket里面listen函數(shù)的參數(shù)。如果服務(wù)器caps很高,需要把這個參數(shù)改大些。
- bind 127.0.0.1
解釋:監(jiān)聽地址,默認(rèn)是監(jiān)聽所有網(wǎng)卡,也可以指定監(jiān)聽一個或多個。多個的格式:
bind 192.168.1.1 192.168.1.2
- loglevel notice
解釋:
指定log級別,默認(rèn)是notice,包括debug,verbose ,notice, , warning.
生產(chǎn)環(huán)境建議用notice,測試階段可以用debug或者verbose,debug的log最多。
- Logfile
解釋:
log 文件指定,默認(rèn)是空,打印到控制臺,可指定路徑,如/var/log/redis.log
- save 900 1
解釋:
這個參數(shù)是redis持久化的支持,基于snapshot機(jī)制,定期執(zhí)行持久化存儲,生成rdb文件,save 命令打開此配置,***個參數(shù)指定多久(單位是秒)執(zhí)行一次,第二個是在***個參數(shù)指定的時間內(nèi)執(zhí)行多少次寫操作才執(zhí)行持久化操作。
- dbfilename dump.rdb
save生成的數(shù)據(jù)庫文件名字
- dir ./
數(shù)據(jù)庫的目錄路徑,默認(rèn)和server一個目錄
- slaveof <masterip> <masterport>
解釋:
Redis 主從復(fù)制功能,通過這個參數(shù)可以讓一個redis啟動時作為某個master的slave,
Slaveof ***個參數(shù)是master的ip,第二個參數(shù)是master的port.
也可以通過redis-cli控制臺執(zhí)行slaveof命令動態(tài)把某個redis作為另一個master的slave。
- requirepass passwd
解釋:
此redis的密碼,如果開啟,客戶端連接時需要設(shè)置密碼,另外一個作用是redis作為slave時,如果master開啟了此參數(shù),slave需要設(shè)置masterauth參數(shù)的值為此參數(shù)(requirepass)的值,
- masterauth <master-password>
解釋:
這個參數(shù)只有在當(dāng)前redis作為slave時管用,用于slave和master之間的鑒權(quán),如果master開啟了鑒權(quán)功能,則masterauth的意思是此slave和master通信時用這個密碼。
另外,這個參數(shù)只有在master的redis.conf文件中開啟了reqireuth參數(shù)時才被使用。
- maxclients 10000
解釋:***并發(fā)客戶端數(shù)。同時存在10000個tcp連接
- maxmemory
解釋:redis申請的***內(nèi)存,字節(jié)為單位,默認(rèn)不限制。
- appendonly yes
解釋:
Redis持久化第二種方式,AOF,默認(rèn)開啟,默認(rèn)每秒執(zhí)行一次持久化保存,也可以設(shè)置成實時保持,這個比save更安全。
- appendfilename "appendonly.aof"
解釋:AOF方式下,保持的數(shù)據(jù)文件名字
- appendfsync no
解釋:執(zhí)行aof的時機(jī),可以為每秒(everysec),實時(always),不手動,交給操作系統(tǒng)執(zhí)行flush(no)
- cluster-enabled yes
解釋:開啟當(dāng)前redis的集群模式,3.0版本才出現(xiàn),默認(rèn)關(guān)閉。
- cluster-config-file nodes-6379.conf
解釋:
集群模式下,每個redis節(jié)點生成一個自己的集群配置文件,這個文件不需要人工修改,由redis自己維護(hù)。
- cluster-node-timeout 15000
解釋:
集群模式時,當(dāng)前節(jié)點在與其他節(jié)點保活探測時,多久沒有響應(yīng)時認(rèn)為其他節(jié)點處于fail狀態(tài),上面是15秒。
【本文為51CTO專欄作者“王森豐”的原創(chuàng)稿件,轉(zhuǎn)載請注明出處】