单位注意:当须要指定内存大小的时候,须要指定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数据会被同步。为了增量写入硬盘而且避免延迟高峰。安全