1. 程式人生 > >[備忘] redis 生產環境配置

[備忘] redis 生產環境配置

轉載自:http://blog.chinaunix.net/uid-30111490-id-4819701.html

redis配置詳解

# 預設情況下,redis不是在後臺模式執行的,如果需要在後臺程序執行,把該項的值更改為yes,預設為no 
daemonize no 
#redis服務以後臺程序執行的時候,Redis預設會把pid寫入/var/run/redis.pid檔案組
pidfile /var/run/redis.pid 
# 指定redis監聽埠,預設為6379
port 6379 
# 指定redis只接收來自於該IP地址的請求,如果不進行設定,預設將處理所有請求,我們是在生產環境下,所以這是必備項

bind 10.160.29.5
# 設定客戶端連線時的超時時間,單位為秒。當客戶端在這段時間內沒有發出任何指令,那麼關閉該連線 
timeout 2
# 指定日誌記錄級別 
# Redis總共支援四個級別:debug、verbose、notice、warning,預設為verbose 
# debug  記錄很多資訊,用於開發和測試 
# varbose 很多精簡的有用資訊,不像debug會記錄那麼多 
# notice 普通的verbose,常用於生產環境 
# warning 只有非常重要或者嚴重的資訊會記錄到日誌 

loglevel verbose 
# 可用資料庫數,預設值為16,預設資料庫儲存在DB 0號ID庫中,無特殊需求,建議僅設定一個數據庫 databases 1 
databases 16
# 把資料庫存到磁碟上: 
#   下面的例子將會進行把資料寫入磁碟的操作: 
#   900秒(15分鐘)之後,且至少有1個key(次)變更 
#   300秒(5分鐘)之後,且至少有10個key(次)變更 
#   60秒之後,且至少有10000個key(次)變更 

#   注意:如果不需要寫磁碟,則把所有 "save" 設定註釋掉,即實現全記憶體伺服器。 
save 900 1 
save 300 10 
save 60 10000
# 資料庫的檔名及存放路徑 
dbfilename rdbfile.rdb 
# 工作目錄 
# 本地資料庫會寫到這個目錄下,檔名就是上面的 "dbfilename" 的值。 
dir /usr/local/rdbfile
# 主從同步。通過 slaveof 配置來實現Redis例項的備份。
# 當本機為從服務時,設定主服務的IP及埠,在Redis啟動時,它會自動從主服務進行資料同步 
slaveof 
#當本機為從服務時,設定主服務的連線密碼 
# masterauth 
# 當一個slave失去和master的連線,或者同步正在進行中,slave的行為有兩種可能: 
# 1) 如果 slave-serve-stale-data 設定為 "yes" (預設值),slave會繼續響應客戶端請求,可能是正常資料,也可能是還沒獲得值的空資料。
# 2) 如果 slave-serve-stale-data 設定為 "no",slave會回覆"正在從master同步(SYNC with master in progress)"來處理各種請求,除了 INFO 和 SLAVEOF 命令。
slave-serve-stale-data yes 
# slave根據指定的時間間隔向伺服器傳送ping請求。 
# 時間間隔可以通過 repl_ping_slave_period 來設定。 
# 預設10秒 
repl-ping-slave-period 5
# 設定最大同時連線客戶端數量,0表示沒有限制,一旦達到這個限制,Redis會關閉所有新連線併發送錯誤達到最大使用者數上限。
maxclients 1024
# 設定最大記憶體,達到最大記憶體設定後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理後,任到達最大記憶體設定,將無法再進行寫入操作。 
maxmemory 10240000000分配10G記憶體 
# 記憶體策略:如果達到記憶體限制了,Redis如何刪除key。你可以在下面五個策略裡面選: 
# volatile-lru -> 根據LRU演算法生成的過期時間來刪除。 
# allkeys-lru -> 根據LRU演算法刪除任何key。 
# volatile-random -> 根據過期設定來隨機刪除key。 
# allkeys->random -> 無差別隨機刪。 
# volatile-ttl -> 根據最近過期時間來刪除(輔以TTL) 
# noeviction -> 誰也不刪,直接在寫操作時返回錯誤。 
maxmemory-policy noeviction
# 開啟累加模式,因為redis本身同步資料檔案是按上面save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中,這種情況下,當Redis宕機的時候,最新的資料就丟了。
#如果不希望丟掉任何一條資料的話就該用純累加模式:一旦開啟這個模式,Redis會把每次寫入的資料在接收後都寫入 appendonly.aof 檔案。 
appendonly yes
# 設定純累加檔名字及儲存路徑,預設:"appendonly.aof" 
appendfilename appendonly.aof 
# Redis慢查詢日誌可以記錄超過指定時間的查詢。執行時間不包括各種I/O時間。 
slowlog-log-slower-than 10000