標籤:style http io os 使用 ar strong 檔案 資料
剛才在部署的時候,提到了redis.conf這個檔案,這是整個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 |
Redis總共支援四個層級:debug、verbose、notice、warning。 Debug:記錄很多資訊,用於開發與測試; Varbose:有用的資訊,不像debug會記錄那麼多; Notice:普通的verbose,常用於生產環境; Warning:只有非常重要或者嚴重的資訊會記錄到日誌; 預設是notice層級。 |
logfile |
日誌的儲存路徑 |
databases |
可用的資料庫數,預設值為16,預設資料庫為0,資料庫範圍在0-(database-1)之間,個人覺得DB的概念類似於命名空間 |
save |
儲存資料庫快照集資訊到磁碟,其對應的值有兩個,比如save 300 10表示:300秒內至少有10個key被改變時,觸發儲存資訊到磁碟的事件。 |
stop-writes-on-bgsave-error |
當持久化出現錯誤之後,是否繼續提供寫服務 |
rdbcompression |
持久化到RDB檔案時,是否壓縮,“yes”為壓縮,“no”則反之 |
rdbchecksum |
讀取和寫入的時候是否支援CRC64校正,預設是開啟的 |
dbfilename |
鏡像檔案的名字 |
dir |
當前工作目錄,設定檔和鏡像檔案等都在此目錄下 |
masterauth |
設定訪問master伺服器的密碼 |
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 進行重新整理。預設是不開啟的。 |
appendfilename |
預設為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 |
notify-keyspace-events |
見參考3,按鍵通知事件 |
aof-rewrite-incremental-fsync |
aof rewrite過程中,是否採取增量檔案同步策略,預設為“yes”。 rewrite過程中,每32M資料進行一次檔案同步,這樣可以減少aof大檔案寫入對磁碟的操作次數 |
requirepass 123456 需要驗證密碼 123456才行
redis 2.8.13設定檔說明