Redis_10_Redis配置参数

@

配置参数

(1)是否以守护进程运行

参数 daemonize
默认值 no
可选值 yes或no
是否可动态配置

(2)占用端口号

参数 port
默认值 6379
可选值 任意正整数
是否可动态配置

(3)Redis进程的工作目录

参数 dir
默认值 ./
可选值 任意目录
是否可动态配置

1)RDB、AOF和日志文件默认均存储在该目录下;


4)日志级别

参数 loglevel
默认值 notice
可选值 debug或verbose或notice或warning
是否可动态配置

(5)日志文件名

参数 logfile
默认值
可选值 建议以“IP:端口号”格式命名
是否可动态配置

(6)可用数据库数

参数 databases
默认值 16
可选值 任意整数
是否可动态配置

(7)监听指定套接字

参数 unixsocket
默认值
可选值 任意套接字文件
是否可动态配置

(8)存储Redis进程PID的文件

参数 pidfile
默认值 /var/run/redis.pid
可选值 任意文件
是否可动态配置

(9)Lua脚本的超时时间(毫秒)

参数 lua-time-limit
默认值 5000
可选值 任意正整数
是否可动态配置

(10)TCP backlog文件大小

参数 tcp-backlog
默认值 511
可选值 任意正整数
是否可动态配置

(11)是否激活重置哈希

参数 activerehashing
默认值 yes
可选值 yes或no
是否可动态配置

客户端

(1)最多可连接客户端数量

参数 maxclients
默认值 10000
可选值 任意正整数
是否可动态配置

(2)客户端输出缓冲区的大小

参数 client-output-buffer-limit
默认值 普通节点:0 0 0 从节点:268435456 67108864 60 频道节点:33554432 8388608 60
可选值 任意正整数
是否可动态配置

(3)客户端限制多久后断开连接(秒)

参数 timeout
默认值 0 (永不关闭)
可选值 任意正整数
是否可动态配置

(4)检测TCP连接活性的周期(秒)

参数 tcp-keepalive
默认值 0 (永不检测)
可选值 任意正整数
是否可动态配置

内存

(1)最大可用内存量(字节)

参数 maxmemroy
默认值 0 (无限制)
可选值 任意正整数
是否可动态配置

1)指定是Redis实际使用的内存量(实际消耗内存可能大于该值);

2)Redis默认无限使用系统内存(建议Redis进程均设置该参数);


(2)内存不足时的淘汰策略

参数 maxmemory-policy
默认值 noeviction
可选值 1)volatile-lru:用LRU算法删除过期键值对 2)allkeys-lru:用LRU算法删除所有键值对 3)volatile-random:随机删除过期键值对 4)allkeys-random:随机删除键值对 5)volatile-ttl:删除即将到期的键值对 6)noeviction:不做任何处理
是否可动态配置

(3)检测LRU采样数

参数 maxmemory-samples
默认值 5
可选值 任意正整数
是否可动态配置

RDB

(1)RDB保存条件

参数 save
默认值 save 900 1 save 300 10 save 60 10000
可选值
是否可动态配置

1)若未配置该值,则代表不使用RDB


(2)RDB文件名

参数 dbfilename
默认值 dump.rdb
可选值 任意文件名
是否可动态配置

(3)是否压缩RDB文件

参数 rdbcompression
默认值 yes
可选值 yes或no
是否可动态配置

(4)RDB文件是否使用校验和

参数 rdbchecksum
默认值 yes
可选值 yes或no
是否可动态配置

(5)BGSAVE命令执行错误时,是否停止Redis接收写请求

参数 stop-writes-on-bgsave-error
默认值 yes
可选值 yes或no
是否可动态配置

AOF

(1)是否开启AOF持久化

参数 appendonly
默认值 no
可选值 yes或no
是否可动态配置

(2)AOF同步磁盘频率

参数 appendfsync
默认值 everysec
可选值 1)always:立刻调用fsync 2)everysec:先调用write后通过其他线程调用fsync 3)no:写入aof_buf后,只调用write
是否可动态配置

(3)AOF文件名

参数 appendfilename
默认值 appendonly.aof
可选值 任意文件名
是否可动态配置

(4)加载AOF文件时,是否忽略AOF文件的不完整

参数 aof-load-truncated
默认值 yes
可选值 yes或no
是否可动态配置

(5)重写期间是否可执行fsync(暂时存入缓冲区中)

参数 no-appendfsync-on-rewrite
默认值 no
可选值 yes或no
是否可动态配置

(6)AOF触发重写条件的最小大小(兆)

参数 auto-aof-rewrite-min-size
默认值 64m
可选值 任意正整数(需指定单位)
是否可动态配置

(7)AOF文件的增长比列触发重写

参数 auto-aof-rewrite-percentage
默认值 100
可选值 任意正整数
是否可动态配置

(8)AOF重写过程种,是否采取增量文件同步策略

参数 aof-rewrite-incremen-tal-fsync
默认值 yes
可选值 yes或no
是否可动态配置

慢查询

(1)慢查询标准(微妙)

参数 slowlog-log-slower-than
默认值 10000
可选值 任意正整数
是否可动态配置

(2)最多可记录多少条慢查询

参数 slowlog-max-len
默认值 128
可选值 任意正整数
是否可动态配置

(3)Redis服务内存延迟监控

参数 latency-monitor-threshold
默认值 0 (关闭)
可选值 任意正整数
是否可动态配置

主从复制

(1)指定从节点的主节点

参数 slaveof
默认值
可选值 IP:端口
是否可动态配置 否 (但可通过SLAVEOF命令实现)

(2)主节点定期向从节点发送Ping命令的周期(秒)

参数 repl-ping-slave-period
默认值 10
可选值 任意正整数
是否可动态配置

(3)主从节点复制超时时间(秒)

参数 repl-timeout
默认值 60
可选值 任意正整数
是否可动态配置

(4)复制积压缓存区大小

参数 repl-backlog-size
默认值 1M
可选值 任意正整数
是否可动态配置

(5)主节点在与从节点断开后多久释放复制积压缓冲区

参数 repl-backlog-ttl
默认值 3600
可选值 任意正整数
是否可动态配置

(6)从节点的优先级

参数 slave-priority
默认值 100
可选值 0~100
是否可动态配置

(7)从节点最少数量(不满足则主节点停止写入操作)

参数 min-slaves-to-write
默认值 0
可选值 任意整数
是否可动态配置

(8)主从节点的最小延迟(不满足则主节点停止写入操作)

参数 min-slaves-max-lag
默认值 10
可选值 任意整数
是否可动态配置

(9)主从节点断开后,从节点是否仍可处理客户端请求

参数 slave-serve-stale-data
默认值 yes
可选值 yes或no
是否可动态配置

(10)从节点是否以只读模式运行

参数 slave-read-only
默认值 yes
可选值 yes或no
是否可动态配置

1)集群模式下从节点默认读写均不可用,只能通过READONLY开启只读模式


(11)主从节点间是否开启延迟发送策略

参数 repl-disable-tcp-nodelay
默认值 no
可选值 yes或no
是否可动态配置

(12)是否开启无盘复制

参数 repl-diskless-sync
默认值 no
可选值 yes或no
是否可动态配置

(13)开启无盘复制后,延迟多长时间进行RDB操作(秒)

参数 repl-diskless-sync-delay
默认值 5
可选值 任意整数
是否可动态配置

哨兵

(1)指定该Sentinel节点监控的Redis主节点

sentinel monitor 主节点别名 主节点IP 主节点端口 票数N

1)票数N:将该Redis主节点标记为不可达时,至少需N个Sentinel节点同意;

2)N建议设置为:Sentinel集合中含有Sentinel节点数的一半加一;


(2)指定该Sentinel节点发送ping命令周期

sentinel down-after-milliseconds 主节点别名 数值N

1)数值N:Sentinle每隔N毫秒发送一次ping命令;

//Sentinle节点通过发送ping命令至Redis节点和其他Sentinle判断是否可达


(3)指定故障转移后可复制的从节点个数

sentinel parallel-syncs 主节点别名 数值N

1)数值N:故障转移后只能有N个从节点可向新Redis主节点发送复制请求;


(4)指定故障转移的超时时间

sentinel failover-timeout 主节点别名 数值N

1)数值N:进行故障转移的4个阶段所用时间都需在N毫秒内;

2)若选择从节点阶段超时,将N翻倍继续执行;

3)若晋升从节点阶段超时,则重新选择从节点;


(5)指定该Sentinel节点监控的Redis主节点密码

sentinel auth-pass 主节点别名 密码

1)若Redis主节点未设置密码,可省略该参数;


(6)指定故障转移时发生警告级别的事件时,所执行的脚本文件

sentinel notificatio-script 主节点别名 脚本路径

1)会同时向该脚本文件发送相应事件参数;

//常见的事件如:-sdown(客观下线)、-odown(主观下线)


(7)指定故障转移结束后执行的脚本文件

sentinel client-reconfig-script 主节点别名 脚本路径

1)会同时向该脚本文件发送转移结果;

2)可执行脚本文件必须为Shell脚本文件,且具有可执行权限;

3)0是正常退出状态码,1是重试退出状态码,2是强制退出状态码;

4)脚本文件的执行事件不可超过60秒,否则将强制结束该脚本文件;

//结果内容:主节点别名 leader或observer 状态 原主节点IP 原主节点端口 新主节点IP 新主节点端口


集群

(1)是否开启集群模式

参数 cluster-enabled
默认值 yes
可选值 yes或no
是否可动态配置

(2)记录该节点的集群状态

参数 cluster-config-file
默认值 nodes.conf
可选值 “节点名-端口号.conf”格式 (防止节点彼此覆盖)
是否可动态配置

1)若启动时已存在该文件,则默认使用该配置文件初始化节点的集群信息

2)该文件由Redis Cluster自动维护(不可手动修改)


(3)是否分配完16384个槽后集群才可访问

参数 cluster-require-full-coverage
默认值 yes
可选值 yes或no
是否可动态配置

(4)集群节点的超时时间(毫秒)

参数 cluster-node-timeout
默认值 15000
可选值 任意正整数
是否可动态配置

1)配置该参数时需考虑Gossip的消息发送频率和节点同步实时性;


(5)从节点的有效因子

参数 cluster-slave-validity-factor
默认值 10
可选值 任意整数 (0代表从节点永不过期)
是否可动态配置

(6)主从节点切换时最少需要多少个从节点

参数 cluster-migration-barrier
默认值 1
可选值 任意整数
是否可动态配置

优化

(1)指定连接Redis时所需密码

参数 requirepass
默认值
可选值
是否可动态配置

1)Redis传输密码的方式为明文传输;


(2)Redis绑定IP

参数 bind
默认值
可选值
是否可动态配置

(3)从节点配置主节点的密码

参数 masterauth
默认值
可选值 主节点密码
是否可动态配置

(4)内存淘汰时,是否使用lazy free模式删除键值对

参数 lazyfree-lazy-eviction
默认值 no
可选值 yes
是否可动态配置

(5)是否使用lazy free模式删除过期键值对

参数 lazyfree-lazy-expire
默认值 no
可选值 yes或no
是否可动态配置

(6)底层调用删除键值对是否为lazy free模式

参数 lazyfree-lazy-server-del
默认值 no
可选值 yes或no
是否可动态配置

(7)FLUSHALLFLUSHDB命令底层是否使用lazy free模式

参数 slave-lazy-flush
默认值 no
可选值 yes或no
是否可动态配置
posted @ 2022-04-17 12:00  爱和可乐的w  阅读(217)  评论(0编辑  收藏  举报