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