Redis 配置詳解

jopen 12年前發布 | 19K 次閱讀 Redis NoSQL數據庫

redis.conf配置選項如下
daemonize 是否以后臺進程運行,默認為no
pidfile 如以后臺進程運行,則需指定一個pid,默認為/var/run/redis.pid
bind 綁定主機IP,默認值為127.0.0.1(注釋)
port 監聽端口,默認為6379
timeout 超時時間,默認為300(秒)
loglevel 日志記錄等級,有4個可選值,debug,verbose(默認值),notice,warning
logfile 日志記錄方式,默認值為stdout
databases 可用數據庫數,默認值為16,默認數據庫為0
save <seconds> <changes> 指出在多長時間內,有多少次更新操作,就將數據同步到數據文件。這個可以多個條件配合,比如默認配置文件中的設置,就設置了三個條件。
save 900 1 

900秒(15分鐘)內至少有1個key被改變
save 300 10  300秒(5分鐘)內至少有300個key被改變
save 60 10000  60秒內至少有10000個key被改變
rdbcompression 存儲至本地數據庫時是否壓縮數據,默認為yes
dbfilename 本地數據庫文件名,默認值為dump.rdb
dir 本地數據庫存放路徑,默認值為 ./
slaveof <masterip> <masterport> 當本機為從服務時,設置主服務的IP及端口(注釋)
masterauth <master-password> 當本機為從服務時,設置主服務的連接密碼(注釋)
requirepass 連接密碼(注釋)
maxclients 最大客戶端連接數,默認不限制(注釋)
maxmemory <bytes> 設置最大內存,達到最大內存設置后,Redis會先嘗試清除已到期或即將到期的Key,當此方法處理后,任到達最大內存設置,將無法再進行寫入操作。(注釋)
appendonly 是否在每次更新操作后進行日志記錄,如果不開啟,可能會在斷電時導致一段時間內的數據丟失。因為redis本身同步數據文件是按上面save條件來同步的,所以有的數據會在一段時間內只存在于內存中。默認值為no
appendfilename 更新日志文件名,默認值為appendonly.aof(注釋)
appendfsync 更新日志條件,共有3個可選值。no表示等操作系統進行數據緩存同步到磁盤,always表示每次更新操作后手動調用fsync()將數據寫到磁盤,everysec表示每秒同步一次(默認值)。
vm-enabled 是否使用虛擬內存,默認值為no
vm-swap-file 虛擬內存文件路徑,默認值為/tmp/redis.swap,不可多個Redis實例共享
vm-max-memory 將所有大于vm-max-memory的數據存入虛擬內存,無論vm-max-memory設置多小,所有索引數據都是內存存儲的(Redis的索引數據 就是keys),也就是說,當vm-max-memory設置為0的時候,其實是所有value都存在于磁盤。默認值為0。

當dump  .rdb數據庫的時候是否壓縮數據對象

rdbcompression yes
#dump數據庫的數據保存的文件名
dbfilename dump.rdb
#Redis的工作目錄
dir /var/lib/redis/
###########  Replication #####################
#Redis的復制配置
# slaveof <masterip> <masterport>
# masterauth <master-password>

############## SECURITY ###########
# requirepass foobared

############### LIMITS ##############
#最大客戶端連接數
# maxclients 128
#最大內存使用率
# maxmemory <bytes>

########## APPEND ONLY FILE MODE #########
#是否開啟日志功能
appendonly no
# 刷新日志到disk的規則
# appendfsync always
appendfsync everysec
# appendfsync no
################ VIRTUAL MEMORY ###########
#是否開啟VM功能
vm-enabled no
# vm-enabled yes
vm-swap-file logs/redis.swap
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文件的操作都是串行的.可能會造成比較長時間的延遲,但是對數據完整性有很好的保證.

轉自:http://blog.163.com/wm_at163/blog/static/13217349020122943937208/
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!