redis配置檔案引數詳解

pythontab發表於2012-12-26
接上一篇文章,接著來分享一下,redis配置檔案redis.conf的詳細配置引數
1. redis.conf 配置引數:
 

#是否作以守護程式執行


daemonize yes

 

#如以後臺程式執行,則需指定一個pid,預設為/var/run/redis.pid

 

pidfile redis.pid

 

#繫結主機IP,預設值為127.0.0.1

 

#bind 127.0.0.1

 

#Redis預設監聽埠

 

port 6379

 

#客戶端閒置多少秒後,斷開連線,預設為300(秒)

 

timeout 300

 

#日誌記錄等級,有4個可選值,debug,verbose(預設值),notice,warning

 

loglevel verbose

 

#指定日誌輸出的檔名,預設值為stdout,也可設為/dev/null遮蔽日誌

 

logfile stdout

 

#可用資料庫數,預設值為16,預設資料庫為0

 

databases 16

 

#儲存資料到disk的策略

 

#當有一條Keys資料被改變是,900秒重新整理到disk一次

 

save 900 1

 

#當有10條Keys資料被改變時,300秒重新整理到disk一次

 

save 300 10

 

#當有1w條keys資料被改變時,60秒重新整理到disk一次

 

save 60 10000

 

#當dump .rdb資料庫的時候是否壓縮資料物件

 

rdbcompression yes

 

#本地資料庫檔名,預設值為dump.rdb

 

dbfilename dump.rdb

 

#本地資料庫存放路徑,預設值為./

 

dir /var/lib/redis/

 

########### Replication #####################

 

#Redis的複製配置

 

# slaveof <masterip> <masterport> 當本機為從服務時,設定主服務的IP及埠

 

# masterauth <master-password> 當本機為從服務時,設定主服務的連線密碼

 

#連線密碼

 

# requirepass foobared

 

#最大客戶端連線數,預設不限制

 

# maxclients 128

 

#最大記憶體使用設定,達到最大記憶體設定後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理後,任到達最大記憶體設定,將無法再進行寫入操作。

 

# maxmemory <bytes>

 

#是否在每次更新操作後進行日誌記錄,如果不開啟,可能會在斷電時導致一段時間內的資料丟失。因為redis本身同步資料檔案是按上面save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。預設值為no

 

appendonly no

 

#更新日誌檔名,預設值為appendonly.aof

 

#appendfilename

 

#更新日誌條件,共有3個可選值。no表示等作業系統進行資料快取同步到磁碟,always表示每次更新操作後手動呼叫fsync()將資料寫到磁碟,everysec表示每秒同步一次(預設值)。

 

# appendfsync always

 

appendfsync everysec

 

# appendfsync no

 

################ VIRTUAL MEMORY ###########

 

#是否開啟VM功能,預設值為no

 

vm-enabled no

 

# vm-enabled yes

 

#虛擬記憶體檔案路徑,預設值為/tmp/redis.swap,不可多個Redis例項共享

 

vm-swap-file /tmp/redis.swap

 

#將所有大於vm-max-memory的資料存入虛擬記憶體,無論vm-max-memory設定多小,所有索引資料都是記憶體儲存的(Redis的索引資料就是keys),也就是說,當vm-max-memory設定為0的時候,其實是所有value都存在於磁碟。預設值為0。

 

vm-max-memory 0

 

vm-page-size 32

 

vm-pages 134217728

 

vm-max-threads 4

 

############# ADVANCED CONFIG ###############

 

glueoutputbuf yes

 

hash-max-zipmap-entries 64

 

hash-max-zipmap-value 512

 

#是否重置Hash表

 

activerehashing yes

 

注意:Redis官方文件對VM的使用提出了一些建議:

 

當你的key很小而value很大時,使用VM的效果會比較好.因為這樣節約的記憶體比較大.

當你的key不小時,可以考慮使用一些非常方法將很大的key變成很大的value,比如你可以考慮將key,value組合成一個新的value.

最好使用linux ext3 等對稀疏檔案支援比較好的檔案系統儲存你的swap檔案.

vm-max-threads這個引數,可以設定訪問swap檔案的執行緒數,設定最好不要超過機器的核數.如果設定為0,那麼所有對swap檔案的操作都是序列的.可能會造成比較長時間的延遲,但是對資料完整性有很好的保證.

相關文章