解析配置文件 redis.conf
1、units單位
2、INCLUDES包含
3、GENERAL通用
1)、daemonize
daemonize yes 啟用後臺守護進程運行模式
2)、pidfile
pidfile /var/run/redis.pid redis啟動後的進程ID保存文件
3)、port
port 6379 指定使用的端口號
4)、tcp-backlog
tcp-backlog
設置tcp的backlog,backlog其實是一個連接隊列,backlog隊列總和=未完成三次握手隊列 + 已經完成三次握手隊列。
在高並發環境下你需要一個高backlog值來避免慢客戶端連接問題。註意Linux內核會將這個值減小到/proc/sys/net/core/somaxconn的值,
所以需要確認增大somaxconn和tcp_max_syn_backlog兩個值
來達到想要的效果
5)、bind
bind IP 監聽指定的網絡接口
6)、timeout
timeout N 客戶端空閑N秒後斷開連接,參數0表示不啟用
7)、tcp-keepalive
tcp-keepalive 0 指定ACKs的時間周期,單位為秒,如果設置為0,則不會進行Keepalive檢測,建議設置成60
8)、loglevel
loglevel notice 指定服務器信息顯示的等級(日誌級別),4個參數分別為debug\verbose\notice\warning
9)、logfile
logfile “” 指定日誌文件,默認是使用系統的標準輸出
10)、syslog-enabled
syslog-enabled no 是否啟用將記錄記載到系統日誌功能,默認為不啟用
11)、syslog-ident
syslog-ident redis 若啟用日誌記錄,則需要設置日誌記錄的身份
12)、syslog-facility
syslog-facility local0 若啟用日誌記錄,則需要設置日誌facility,可取值範圍為local0~local7,表示不同的日誌級別
13)、databases
databases 16 設置數據庫的數量,默認啟動時使用DB0,使用“select <dbid>
4、SECURITY安全
5、LIMITS限制
1)、maxclients
設置redis同時可以與多少個客戶端進行連接。默認情況下為10000個客戶端。當你
無法設置進程文件句柄限制時,redis會設置為當前的文件句柄限制值減去32,因為redis會為自
身內部處理邏輯留一些句柄出來。如果達到了此限制,redis則會拒絕新的連接請求,並且向這
些連接請求方發出“max number of clients reached”以作回應。
2)、maxmemory
設置redis可以使用的內存量。一旦到達內存使用上限,redis將會試圖移除內部數據,移除規則可以通過maxmemory-policy來指定。
如果redis無法根據移除規則來移除內存中的數據,或者設置了“不允許移除”,
那麽redis則會針對那些需要申請內存的指令返回錯誤信息,比如SET、LPUSH等。
但是對於無內存申請的指令,仍然會正常響應,比如GET等。如果你的redis是主redis(說明你的redis有從redis),
那麽在設置內存使用上限時,需要在系統中留出一些內存空間給同步隊列緩存,只有在你設置的是“不移除”的情況下,才不用考慮這個因素
3)、maxmemory-policy
4)、maxmemory-samples
設置樣本數量,LRU算法和最小TTL算法都並非是精確的算法,而是估算值,所以你可以設置樣本的大小,
redis默認會檢查這麽多個key並選擇其中LRU的那個
解析配置文件 redis.conf