1、Redis的配置文件是redis.conf
2、配置文件第12行起,描述的單位轉換:
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
# 注意k、kb、m、mb、g、gb的區別
# 單位是大小寫不敏感的,所以1GB 1gB 1Gb是相同的。
3、"INCLUDES"模塊(如37行:# include /path/to/other.conf) 可以包含其它的配置文件
4、"GENERAL"模塊
1)daemonize yes(129行)表示redisserver是否可以后臺,即關閉命令窗口后是否可以運行
2)loglevel notice (159行),日志級別,有debug、verbose、notice、warning
3)logfile /var/log/redis_6379.log(164行)日志的存放路徑
4)syslog-enabled no 168行,是否有系統日志
5)# syslog-ident redis 171行,系統日志文件以“redis”開頭
6)databases 16 179行,默認16個庫
5、"NETWORK"模塊
1)port 6379(85行)表示當前redisServer的端口
2)tcp-backlog 511(94行);設置tcp的backlog,backlog其實是一個連接隊列,backlog隊列的總和=未完成的三次握手隊列+已完成的三次握手隊列。在高并發環境下你需要一個高backlog值來避免慢客戶端連接問題。注意Linux內核會將這個值減小到/proc/sys/net/core/somaxconn的值,所以需要確認增大somaxconn和tcp_syn_backlog兩個值來達到想要的效果。
3)"timeout 0"(在客戶端空閑N秒后關閉連接(0是禁用,表示不關閉))
4)“tcp-keepalive 300”單位是秒,如果設置為0,則不會Keepalive,建議設置成60,(即每隔N秒檢測網絡通訊是否正常)
6、"SECURITY"模塊
7、"SNAPSHOTTING模塊"
1)dir /var/lib/redis/6379 248行 redis啟動路徑,數據就存儲在這里
8、"LIMITS"模塊
1)# maxclients 10000 513行 最大10000個連接
2)# maxmemory ?538行 最大內存
3)# maxmemory-policy noeviction ?561行 緩存的過期策略,有如下幾種:(lru最近最少使用,random隨機,ttl有限時間內)
# volatile-lru -> 使用LRU算法移除key,只對設置了過期時間的key
# allkeys-lru -> 使用LRU算法移除key
# volatile-random -> 在過期集合內移除隨機的key,只對設置了過期時間的key
# allkeys-random -> 移除隨機的key
# volatile-ttl -> 移除哪些TTL值最小的key,即那些最近要過期的key
# noeviction -> 永不過期,針對寫操作,只返回寫操作的錯誤
4)# maxmemory-samples 5 ?572行 設置樣本的數量,LRU算法和最小TTL算法都并非是精確的算法,而是估算值,所以你可以設置樣本的大小,redis默認會檢查這么多個key并選擇其中LRU的那個
8、“SNAPSHOTTING”模塊
1)203行
save 900 1 900秒內有一個KEY修改就保存
save 300 10300秒內有十個KEY修改就保存
save 60 1000060秒內有一萬個KEY修改就保存
2)238行?dbfilename dump.rdb持久化文件的存儲名稱
3)248行?dir /var/lib/redis/6379持久化文件的存儲目錄
4)220號?stop-writes-on-bgsave-error yes ,yes表示出錯了就不保存,no表示你不在乎數據的一致性或者有其他手段發現和控制
5)226行?rdbcompression yes 壓縮
6)235行?rdbchecksum yes 在存儲快照后,還可以讓Redis使用CRC64算法來進行數據校驗,但是這樣做會增加大約10%的性能消耗,如果希望獲取最大的性能的提升,可以關閉次此功能。
7)201行?? save "" ?停止持久化
9、“APPEND ONLY MODE”模塊
1)594行?appendonly no AOF持久化是否追加文件
2)598行?appendfilename "appendonly.aof"AOF持久化文件名稱
3)624行 appendfsync ? always:同步持久化 每次發生數據變更會立即記錄到磁盤 性能較差但是數據完整性較好 everysec:出場默認推薦,i異步操作,每秒記錄,如果一秒內宕機,有數據丟失 no:不同步
4)646行 no-appendfsync-on-rewrite no 重寫時是否可以用Appendfsync,用默認no即可,保證數據安全性
5)665行 auto-aof-rewrite-percentage 100 (即100%)大小是上次重寫時翻倍時在重寫
auto-aof-rewrite-min-size 64mb 超過64M就重寫