單位注意:當須要指定內存大小的時候,須要指定1k、5GB、4m等相似單位:
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 10241024 bytes
# 1g => 1000000000 bytes
# 1gb => 10241024*1024 bytesnode
bind 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
/proc/sys/net/core/somaxconn
的值取最小值timeout 0
tcp-keepalive 300
SO_KEEPSLIVE
檢測客戶端是否處於健康狀態,避免服務器阻塞,官方建議300秒(從3.2.1版本開始)daemonize yes
supervised no
auto、upstart、systemd、no
pidfile /var/run/redis_6379.pid
/var/run/redis.pid
loglevel notice
debug
:適用於開發和測試
verbose
:比debug少點
notice
:適用於生產環境
warning
:重要信息和錯誤信息
logfile ""
databases 16
save seconds changes
stop-writes-on-bgsave-error yes
rdbcompression yes
dump.rdp
數據庫文件的時候使用LZF壓縮字符串rdbchecksum yes
dbfilename dump.rdb
dir ./
slaveof masterip masterport
masterauth master-password
slave-serve-stale-data yes
yes
,slave仍然會應答客戶端請求,但返回的數據多是過期的,或者在第一次同步的時候,數據多是空的。no
,除了執行info
和slaveof
以外的其餘命令都將返回一個SYNC with master in progress
的錯誤。slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-ping-slave-period 10
repl-timeout 60
repl-ping-slave-period
要大,不然每次主站和從站之間通訊低速時都會被檢測爲超時。repl-disable-tcp-nodelay no
TCP_NODELAY
yes
,master會使用少許的TCP包和帶寬向slave發送數據,但會致使slave會有數據延遲。Linux內核默認配置狀況下最多40ms的延時。no
,slave將不會有延時,但同步數據時會消耗較大的帶寬。yes
會更好。repl-backlog-size 1mb
repl-backlog-ttl 3600
backlog
將被自動釋放。該選項配置backlog
釋放前等待的秒數,從斷開連接開始計算,值爲0
時表示不釋放。slave-priority 100
min-slaves-to-write 3
min-slaves-max-lag 10
max-lag
,延遲秒數是從最後一次收到來自slave的ping開始計算,ping一般是每秒一次。min-slaves-to-write
設置爲0(禁用)而min-slaves-max-lag
設置爲10。slave-announce-ip 5.5.5.5
slave-announce-port 1234
redis
requirepass foobared
AUTH password
命令提供密碼,默認關閉。rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
rename-command CONFIG ""
maxclients 10000
maxmemory <bytes>
maxmemory
限制。maxmemory-policy noeviction
maxmemory-policy noeviction
maxmemory-samples 5
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
no
,遇到此類問題,Redis會啓動失敗,用redis-check-aof
工具手工修復。lua-time-limit 5000
SCRIPT KILL
殺掉沒有調用write的腳步,若是要是已經調用write,就使用SHUTDOWN NOSAVE
殺掉。cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
(node-timeout*slave-validity-factor)+repl-ping-slave-period
的值,slave將不會嘗試進行故障轉移。node-timeout
默認爲15s,slave-validity-factor
默認爲10,repl-ping-slave-period
默認爲10s,則默認slave斷開鏈接的時間超過160s後將不進行故障轉移。cluster-migration-barrier 1
cluster-require-full-coverage yes
slowlog-log-slower-than 10000
slowlog-max-len 128
SLOWLOG RESET
回收內存。latency-monitor-threshold 0
LATENCY SAMPLES
:返回延時的事件抽樣。LATENCY LATEST
:四列分別表示事件名、最近延遲的Unix時間戳、最近的延遲、最大延遲。LATENCY DOCTOR
:返回人類可讀的分析延遲實例。LATENCY GRAPH
:以圖形化的方式顯示。最下面以豎行顯示的是指延遲在多久之前發生。LATENCY RESET
:清除延時記錄。CONFIG SET latency-monitor-threshold <milliseconds>
"直接設置而不須要重啓Redis。notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
算法
list-compress-depth 0
數據庫
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>
hz 10
aof-rewrite-incremental-fsync yes
當重寫AOF文件是,若是啓用該選項,則文件每生成32M數據會被同步。爲了增量寫入硬盤而且避免延遲高峯。安全