天天看點

Redis(三):Redis配置檔案參數說明

Redis配置檔案參數說明:

本篇内容純屬我整合了網上其他多篇文章中對配置檔案字段的說明,友善自己查詢也可以友善其他人。說明方面有些我進行了修改,有些就直接粘貼了。

如果有人看到裡面的文字完全是作者執筆,還請諒解。

參數

說明

daemonize

如果為yes,則啟動服務的時候為背景運作,如果是no,則相反

pidfile

指定存儲redis程序号的檔案路徑

port

指定目前redis服務的端口号,預設問6379

tcp-backlog

确定了TCP連接配接中已完成隊列(完成三次握手之後)的長度,此值不應大于linux系統定義的/proc/sys/net/core/somaxconn值。預設是511,而Linux的預設參數是128。當系統并發量大且用戶端速度緩慢的時候,可以将這兩個參數一起參考設定。

timeout

用戶端和redis伺服器連接配接逾時時間,預設是0,永不逾時。

tcp-keepalive

如果值是非0,機關是秒,表示将周期性的使用SO_KEEPALIVE檢測用戶端是否還處于健康狀态,避免伺服器一緻阻塞,官方建議是60s。

loglevel

日志級别,總共有4個級别:

Debug:記錄更多資訊,用于開發和測試

Varbose:有用的資訊,比debug記錄的少

Notice:普通的varbose,常用于生産環境

Warning:隻有非常重要或者嚴重的資訊會被記錄到日志

預設為notice級别

logfile

日志存儲路徑

databases

可用的資料庫數量,預設值為16,預設資料庫為0,資料庫範圍在0---(database-1)之間,這個DB概念類似于執行個體。

save

儲存資料庫快照到磁盤,其對應的值有2個,比如save300 10,表示300秒内至少有10個key被改變時,觸發儲存資訊到磁盤事件。預設有3個儲存政策。

stop-writes-on-bgsave-error

當持久化出現錯誤之後,是否繼續提供寫服務。

rdbcompression

持久化到RDB檔案時,是否壓縮,yes為壓縮,no為不壓縮

rdbchecksum

讀取和寫入的時候是否支援CRC64校驗,預設是開啟的

dbfilename

本地資料庫快照檔案名稱,預設為dump.rdb

dir

本地資料庫快照檔案(就是上面的dbfilename)和AOF檔案存放路徑,配置檔案的英文直譯為工作目錄,有點讓人混淆。

masterauth

設定通路master伺服器的密碼,在主從模式下,這裡填寫主伺服器的驗證密碼。

requirepass

用于設定連接配接密碼,比如在主從複制中,為了安全可以在主伺服器上設定該項,然後在從伺服器的配置檔案中的masterauth填寫設定的密碼,用于認證。

slaveof

設定主伺服器的IP和端口,主從複制結構中,從伺服器需要設定該項。

slave-serve-stale-data

當slave伺服器和master伺服器失去連接配接後,或者當資料正在複制傳輸的時候,如果此參數值設定“yes”,slave伺服器可以繼續接受用戶端的請求,否則,會傳回給請求的用戶端如下資訊“SYNC with master in progress”

slave-read-only

是否允許slave伺服器節點隻提供讀服務

repl-disable-tcp-nodelay

指定向slave同步資料時,是否禁用socket的NO_DELAY選項。若配置為“yes”,則禁用NO_DELAY,則TCP協定棧會合并小包統一發送,這樣可以減少主從節點間的包數量并節省帶寬,但會增加資料同步到 slave的時間。若配置為“no”,表明啟用NO_DELAY,則TCP協定棧不會延遲小包的發送時機,這樣資料同步的延時會減少,但需要更大的帶寬。通常情況下,應該配置為no以降低同步延時,但在主從節點間網絡負載已經很高的情況下,可以配置為yes

slave-priority

指定slave的優先級。在不隻1個slave存在的部署環境下,當master當機時,Redis Sentinel會将priority值最小的slave提升為master。需要注意的是,若該配置項為0,則對應的slave永遠不會自動提升為master。

appendonly

開啟append only 模式之後,redis 會把所接收到的每一次寫操作請求都追加到appendonly.aof 檔案中,當redis 重新啟動時,會從該檔案恢複出之前的狀态。但是這樣會造成appendonly.aof 檔案過大,是以redis 還支援了BGREWRITEAOF 指令,對appendonly.aof 進行重新整理。預設是不開啟的。

Maxmemory

最大記憶體使用設定,機關為bytes,達到最大記憶體後,Redis會先嘗試清除已到期或即将到期的key,當使用此方法處理後仍然達到最大每次,那麼将無法執行寫入操作。

appendfilename

Aof更新日志檔案名稱,預設為appendonly.aof。

appendfsync

設定aof的同步頻率,有三種選擇always、everysec、no,預設是everysec表示每秒同步一次。

no-appendfsync-on-rewrite

指定是否在背景aof檔案rewrite期間調用fsync,預設為no,表示要調用fsync(無論背景是否有子程序在刷盤)。Redis在背景寫RDB檔案或重寫afo檔案期間會存在大量磁盤IO,此時,在某些linux系統中,調用fsync可能會阻塞。

auto-aof-rewrite-percentage

指定Redis重寫aof檔案的條件,預設為100,表示與上次rewrite的aof檔案大小相比,目前aof檔案增長量超過上次afo檔案大小的100%時,就會觸發background rewrite。若配置為0,則會禁用自動rewrite

auto-aof-rewrite-min-size

指定觸發rewrite的aof檔案大小。若aof檔案小于該值,即使目前檔案的增量比例達到auto-aof-rewrite-percentage的配置值,也不會觸發自動rewrite。即這兩個配置項同時滿足時,才會觸發rewrite

lua-time-limit

一個Lua腳本最長的執行時間,機關為毫秒,如果為0或負數表示無限執行時間,預設為5000

aof-rewrite-incremental-fsync

aofrewrite過程中,是否采取增量檔案同步政策,預設為“yes”。 rewrite過程中,每32M資料進行一次檔案同步,這樣可以減少aof大檔案寫入對磁盤的操作次數

      本文轉自linuxjavachen  51CTO部落格,原文連結:http://blog.51cto.com/littledevil/1792337,如需轉載請自行聯系原作者