【Redis运维】Redis 3.x配置文件示例与说明
bind 127.0.0.1 protected-mode yes daemonize yes port 6379 tcp-backlog 511 #在高并发环境下需要调高该值避免客户端连接问题。该值受/proc/sys/net/core/somaxconn系统参数影响,需一起调整 timeout 300 #客户端空闲时间达到多少秒就被关闭,0为不关闭 tcp-keepalive 300 #客户端与服务器端如果没有数据交互,多少秒进行一次ping/pong交互,以判断客户端是否假死、网络断开等情况 supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile "/data/redis/logs/redis.log" databases 16 requirepass 123456 #redis密码 rename-command KEYS ADMINKEYS #命令别名,经测试如果对config命令重命名会导致哨兵切换出现"next failover delay: I will not start a failover before"的异常 maxclients 10000 #最大客户端连接数 maxmemory 1GB #redis最大占用内存,可写为1kb,5GB,4Mb等常见格式,不区分大小写 maxmemory-policy volatile-lru #内存淘汰策略,见后文详细解释 # maxmemory-samples 5 #LRU和最小TTL算法精确度不高,但是很接近(为了省内存),这里可以设置用N个样本做检测 # RDB持久化配置 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes #如果快照保存失败,所有节点停止写入 rdbcompression yes #RDB是否压缩 rdbchecksum yes #校验RDB文件 dbfilename dump.rdb #RDB文件名 dir /data/redis/rdb/ #RDB存放目录 rdb-save-incremental-fsync yes #当Redis保存RDB文件时,每生成32MB数据就执行一次fsync操作,这样分批提交可以避免高延迟 # 主从配置 slaveof <masterip> <masterport> #如果填写了其他节点ip与端口,本节点就作为那个节点的从库 masterauth <master-password> #主库的密码 slave-serve-stale-data yes #如果从库与主库失联,是否继续响应客户端请求,No则响应SYNC with master in progress slave-read-only yes #从库开启只读 repl-ping-slave-period 10 #从库向主库发送ping请求的间隔 repl-timeout 60 #主从超时时间 repl-disable-tcp-nodelay no #是否用nodelay方式传输数据,no可以降低数据传输到从库的延迟,但使用更多的带宽 repl-backlog-size 10mb #增量复制时数据挤压缓冲区大小,主从发生中断后,主库会把离线之后产生的数存储在该区域,避免短时间断开服务却进行全量同步的问题 repl-backlog-ttl 3600 #当所有从库都与主库断开连接后达到多少秒释放backlog slave-priority 100 #从库优先级,数字越小优先级越高,0代表不会被哨兵选为主 # min-slaves-to-write 3 #如果从库少于N个,主库就停止写入,需配合min-slaves-max-lag一起使用。比如至少需要3个从库、并且延时小于等于10秒的,主库才能写入 # min-slaves-max-lag 10 #如果从库延迟小于N秒,主库才能写入数据,需配合min-slaves-to-write一起使用。比如至少需要3个从库、并且延时小于等于10秒的,主库才能写入 repl-diskless-sync yes #开启无盘复制,主从全量同步时,主库并不会在本地创建RDB 文件,而是创建一个子进程通过Socket将RDB文件写入到从服务器,节约IO资源 repl-diskless-sync-delay 5 #开启无盘复制时,主节点等待秒数,如果超过这个时间没有更多从节点提交连接申请就开始传输数据,后续请求需要排队。好比公交车发车前等待一会儿,后续人得等下一班 # AOF持久化配置 appendonly no appendfilename "appendonly.aof" appendfsync everysec # appendfsync always # appendfsync no no-appendfsync-on-rewrite no #该配置项为yes表示AOF重写时,不进行fsync,此时实例发生宕机会导致数据丢失。设置为no(默认配置)表示AOF重写时调用后台线程进行fsync auto-aof-rewrite-percentage 100 #aof文件体积与上次相比增长率达到100%就进行重写(重写相当于记总账,比如对同一个key做了100次操作,我们只需要最后一次的操作,重写就会把多余的操作给忽略掉,节省内存 auto-aof-rewrite-min-size 64mb #和auto-aof-rewrite-percentage组合使用,aof文件达到64M时进行重写 aof-load-truncated yes aof-rewrite-incremental-fsync yes #当Redis保存AOF文件时,每生成32MB数据就执行一次fsync操作,这样分批提交可以避免高延迟 #慢日志配置 slowlog-log-slower-than 100000 #慢查询的评定时间,单位为微妙,这里代表0.1秒 slowlog-max-len 1000 #慢日志最大记录条数 #当hash\list\set类型的键只有少量数据时会用一种更节省内存的数据结构来编码 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 #启用hash刷新,尽快释放内存 #客户端输出缓冲区配置 client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 #通常使用默认10即可(可选范围1到500)。该值设置Redis每秒处理后台任务的频率,如清理过期Key、关闭超时连接等。调高该值可以让CPU空闲时间更频繁的去处理后台的任务,但通常不建议调高到100以上 dynamic-hz yes #动态调整hz的值
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论