(基於Redis 2.6)
基礎部分設定:
daemonize no
#預設情況下redis 不是以守護進程的模式運行。
pidfile /var/run/redis.pid
#在守護進程模式下,pid進程號檔案路徑的儲存位置
port 6379
#監聽的連接埠號碼,設定為0的話,redis不會對tcp 串連進行監聽;
bind 127.0.0.1
#綁定本機單一網卡適配器,預設是原生所有網路介面卡
unixsocket /tmp/redis.sock
unixsocketperm 755
#預設情況下 redis 是不建立unix socket串連的;
timeout 0
#用戶端空閑n秒後中斷連線; 0 表示不主動中斷連線;
tcp-keepalive 0
#在linux上,每個一段時間發送 SO_KEEPALIVE ACK的空包;推薦值為60s;
這樣做的兩點理由:
1、阻止由於某個command執行過長達到timeout逾時時間而被中斷連線;
2、提高串連錯誤的檢測
(對於長期閒置tcp串連很容易被NAT、防火牆等直接close掉。這情況下對於client和server在沒IO操作下,都是沒辦感知的。另外,像Server程式或網路(硬體)突然Crash掉,也是同樣的情況。)
使用keepalive,核心會定時幫你發送一個空的ACK包,如果串連已斷開或網路不可達,就會收到RST。
loglevel notice
#記錄日誌的層級:
debug:包含所有資訊,主要用於開發環境中;
verbose:相比debug 只顯示有用資訊;
notice :生產環境推薦配置
warning : 只記錄重要、錯誤資訊和嚴重資訊;
logfile stdout
#記錄檔記錄位置, 如果採用daemonize 守護進程的模式,且參數值為stdout,那logs會被重新導向到/dev/null
syslog-enabled no
#將日誌資訊記錄到 syslog 檔案中。預設不允許;
syslog-facility local0 (必須是 LOCAL 0 -- LOCAL 7)
作為syslog 的日誌裝置
databases 16