程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> redis配置文件參數解釋說明

redis配置文件參數解釋說明

編輯:關於PHP編程

redis配置文件參數解釋說明


博客文章除注明轉載外,均為原創。轉載請注明出處。
本文鏈接地址:http://blog.chinaunix.net/uid-31396856-id-5757212.html


==Basic settings===
databases 16
數據庫數量

maxclients 10000
最大連接數

tcp-backlog 511
listen隊列的長度

maxmemory-policy allkeys-lru
內存策略設定參數:如果達到內存限制了,Redis如何刪除key,redis有如下5個策略:
volatile-lru -> 根據LRU算法生成的過期時間來刪除。
allkeys-lru -> 根據LRU算法刪除任何key。
volatile-random -> 根據過期設置來隨機刪除key。
allkeys->random -> 無差別隨機刪。
volatile-ttl -> 根據最近過期時間來刪除(輔以TTL)
noeviction -> 誰也不刪,直接在寫操作時返回錯誤。

maxmemory-samples 5
LRU和最小TTL算法的實現都不是很精確,但是很接近(為了省內存),可以采用樣例做測試。

daemonize yes
以守護進程方式啟動:後台daemon方式運行

timeout 0
客戶端連接的超時時間,單位為秒,超時後會關閉連接,0永不超時;

tcp-keepalive 0
檢測客戶端失敗的連接的間隔時間,單位s,設置為0表示禁止檢測;

loglevel notice
服務器調試等級。
debug (很多信息,對開發/測試有用)
verbose (很多精簡的有用信息,但是不像debug等級那麼多)
notice (適量的信息,基本上是你生產環境中需要的程度)
warning (只有很重要/嚴重的信息會記錄下來
日志記錄等級,4個可選值 debug(調試) > verbose(精簡) >notice(適量) > warning(警告)

===rdb快照相關===
stop-writes-on-bgsave-error yes
序列化的時候,快照失敗是否停止寫操作,如果有監控機制,可以考慮no

rdbcompression yes
rdb做快照時壓縮

dbfile dump.rdb
快照文件名稱設置

rdbchecksum yes
生成和加載的時候是否開啟CRC64檢查,開啟後消耗性能10%左右,但是會更加安全。

===復制相關參數====
slaveof
masterauth passwd //授權密碼

slave-serve-stale-data yes
當一個slave失去和master的連接,或者同步正在進行中,是否繼續響應客戶端:
1) 如果 slave-serve-stale-data 設置為"yes"(默認值),slave會繼續響應客戶端請求,可能是正常數據,也可能是還沒獲得值的空數據。
2) 如果 slave-serve-stale-data 設置為 "no",slave會回復"正在從master同步(6SYNC with master in progress)"來處理各種請求,除了 INFO 和 SLAVEOF 命令。

slave-read-only yes
參數是配置:從庫只讀

repl-disable-tcp-nodelay no
參數是指合並tcp數據包節省帶寬,但是會產生40ms左右的延遲;no是馬上發送數據,無延遲。

repl-ping-slave-period 10
slave根據指定的時間間隔向服務器發送ping請求。默認為10s

repl-timeout 60
向master請求數據和ping響應的過期時間,默認為60s。必須比repl-ping-slave-period實際大;

repl-backlog-size 32mb
master為slave保存多大的數據,超過這個大小後也會導致全量復制

repl-backlog-ttl 3600
master和slave斷開後master為slave保存多長時間的數據,超過該時間段緩沖區會被釋放

slave-priority 80
在主庫失敗後,從庫提升為主庫的優先級

==aof參數===
appendonly no
是否開啟aof模式

#appendfilename "8888.aof"
aof模式開啟後的文件名

#appendfsync everysec
fsync() 請求操作系統把數據寫到磁盤上:是否每秒寫入數據
no:不要立刻刷,只有在操作系統需要刷的時候再刷。比較快。
always:每次寫操作都立刻寫入到aof文件。慢,但是最安全。
everysec:每秒寫一次。折衷方案。

#no-appendfsync-on-rewrite yes
寫aof的時候放棄同步主進程的變化,可能會丟失日志,打不死高並發的時候的響應不會延遲
如果有延遲的問題那就把設為 "yes",否則就保持 "no",這是保存持久數據的最安全的方式。

#auto-aof-rewrite-percentage 80
aof文件size擴大百分比率的時候重寫該日志;

#auto-aof-rewrite-min-size 50000mb
aof文件size增長到多大的時候重寫該日志;

#aof-rewrite-incremental-fsync yes
設置為yes,當修改aof文件只要生成32MB數據就進行同步;

==slow log慢日志===
slowlog-log-slower-than 10000
記錄超過1s的操作
slowlog-max-len 128
記錄128個操作

===虛擬內存
vm-enabled no
是否開啟虛擬內存,一般不開啟

hash-max-ziplist-entries 512
配置最大元素條目數,當超過配置數目,redis采用特殊hash算法
hash-max-ziplist-value 64
配置最大元素值,超過這個值,采用特殊hash算法
當有大量數據時,適合用哈希編碼(需要更多的內存),元素數量上限不能超過給定限制。

list-max-ziplist-entries 512
list-max-ziplist-value 64
數據元素較少的情況下,可用另一種方式來編碼從而節約空間。

set-max-intset-entries 512
數據全是64位無符號整型數字構成的字符串。編碼的最大上限
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
有序序列也可以用一種特別的編碼方式來處理,可節約空間,這種編碼適合長度和元素。

activerehashing yes
hash刷新,如果不太在意延遲而希望盡快釋放內存的話開啟,延遲和內存(容量)直接的性能平衡

client-output-buffer-limit normal 0 0 0
對客戶端輸出緩沖進行限制可以強迫那些就不從服務器讀取數據的客戶端斷開連接。
對於normalclient,第一個0表示取消hardlimit,第二個0和第三個0表示取消soft limit,normalclient默認取消限制,
因為如果沒有尋問,客戶端是不會接收數據的

client-output-buffer-limit slave 768mb 256mb 60
對於slaveclient和MONITER client,如果client-output-buffer一旦超過768mb,又或者超過256mb持續60秒,那麼服務器就會立即斷開客戶端連接。

client-output-buffer-limit pubsub 32mb 8mb 60
對於pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續60秒,那麼服務器就會立即斷開客戶端連接。

hz 10
redis內部調度頻率

latency-monitor-threshold 0
用LATENCY打印redis實例在跑命令時的耗時圖表,監視頻率,0為不監視

lua-time-limit 5000
限制腳本的最長運行時間,默認為5秒鐘

====安全===
#masterauth "password"
#requirepass "password"
# Generated by CONFIG REWRITE
--The end

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved