Redis系列三:Redis常用設置


一、redis的配置文件redis.conf位置

centos:默認在/etc/redis.conf

ubuntu:可以從解壓縮后的目錄里將配置文件復制到該目錄

 

二、啟動redis時指定配置文件

$redis-server /etc/redis.conf

 

三、常用配置說明

daemonize yes #設置后台運行,默認redis不在后台運行

logfile "/var/log/redis.log" #設置log文件地址,默認使用標准輸出,即直接打印在命令行終端的窗口上

requirepass 123456 # 設置redis連接密碼

port 6379 #設置監聽端口

pidfile /var/run/redis.pid #設置pid文件路徑

bind 127.0.0.1 #綁定主機ip

unixsocket /tmp/redis.sock #設置sock文件路徑

timeout 300 #設置超時時間,默認是300s

loglevel verbose #日志等級,可選項有debug,verbose,notice,warning 默認是erbose

logfile stdout #日志記錄方式,默認是stdout

syslog-enabled no #日志記錄到系統日志中,默認是no

syslog-ident redis #指定系統日志標識

syslog-facility local0 #指定系統日志設備,默認是local0

databases 16 #可用數據庫數,默認值是16,默認數據庫是0

save <seconds> <changes> #在多長時間內,有多少次更新操作,就將數據同步到數據文件。

save 900 1 #15min內至少1個key被改變

save 300 10 #5min內至少有300個key被改變

save 60 10000 #60s內至少有10000個key被改變

rdbcompression yes #存儲至本地數據庫時是否壓縮數據,默認是yes

dbfilename dump.rdb #本地數據庫文件名,默認是dump.rdb

dir ./ #本地數據庫存放路徑,默認是./

slaveof <masterip> <masterport> #當本機為從服務時,設置主服務的ip以及端口

masterauth <master-password> #主服務的連接密碼

slave-serve-stale-data yes

maxclients 128 #最大連接數,默認不限制

maxmemory <bytes> #設置最大內存,達到最大內存設置后,redis會先嘗試清除已到期或即將到期的key,當此方法處理后,任然到達最大內存設置,將無法再進行寫入操作

maxmemory設置策略

maxmemory-policy volatile-lru #maxmemory設置策略,默認是volatile-lru.

maxmemory-samples 3

appendonly no #是否在每次更新操作后進行日志記錄,如果不開啟,可能會在斷電時導致一段時間內的數據丟失。因為redis本身同步數據文件是按照上面save條件來進行同步的,所以有的數據會在一段時間內只存在於內存中。默認是no

appendfilename appendonly.aof #更新日志文件名,默認是appendonly.aof

 

redis支持的三種不同的同步方式:

# no: don't fsync, just let the OS flush the data when it wants. Faster. //等待OS進行數據緩存同步到硬盤

# always: fsync after every write to the append only log . Slow, Safest. //每次更新操作后調用fsync()將數據寫到磁盤

# everysec: fsync only if one second passed since the last fsync. Compromise. //每秒同步一次

appendfsync everysec #更新日志條件,默認是everysec

no-appendfsync-on-rewrite no

slowlog-log-slower-than 10000 #設置redis slow log時間,只包括命令執行時間,不包括IO操作時間,比如客戶端連接,應答相應時間等等。單位是microseconds(一百萬分之一秒),默認是10000.負值表示禁用slow log,0表示記錄所有命令。

slowlog-max-len 1024 #slowlog最大長度1024.這會消耗內存,使用SLOWLOG RESET來回收slowlog內存。

#在redis2.4版本,強烈不建議使用virtual memory。

vm-enabled no #是否使用虛擬內存,默認是no

vm-swap-file /tmp/redis.swap #虛擬內存文件路徑,默認是/tmp/redis.swap,不可多個redis實例共享虛擬內存文件。

vm-max-memory 0 #設置最大vm,默認為0,所有的value存在於磁盤中。

vm-page-size 32 #設置vm的page大小,默認是32

vm-pages 134217728 #設置swap文件中最大memory pages,默認是134217728。swap大小=vm-page-size * vm-pages

vm-max-threads 4 #vm同時運行的最大io線程

#指定在超過一定的數量或者最大的元素超過某一臨界值時,采用一種特殊的哈希算法

hash-max-zipmap-entries 512 #配置字段最多512個

hash-max-zipmap-value 64 #配置value最大為64字節

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

activerehashing yes #是否重置hash表

include /path/to/other.conf #引用其他配置文件

 

Redis系列一:初識Redis

Redis系列二:Redis支持的數據類型和使用方法(一)

Redis系列二:Redis支持的數據類型和使用方法(二)

Redis系列三:Redis常用設置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM