参数支持
Redis Cluster 支持部分参数的配置与修改,不同版本支持的参数有所区别。
为便于阅读和内容表达,本文的表格约定使用下述注释:
-
✓ 表示在该版本下,支持该参数。
-
✕ 表示在该版本下,不支持该参数。
修改参数的操作方法,请参见配置集群参数,以下是各参数的详细说明。
参数 | 说明 | Redis 4.0.9 | Redis 5.0.8 | Redis 6.x | Redis 7.x | ||
---|---|---|---|---|---|---|---|
端口 |
Redis 明文端口。设置为 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Port |
TLS 加密端口。设置为 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Cluster |
Cluster 通信是否使用加密端口。
|
✕ |
✕ |
✓ |
✓ |
||
控管台管理 ACL |
表示是否由控制台管理 ACL 服务。
|
✕ |
✕ |
✓ |
✓ |
||
最大内存比例 |
Redis 最大可用内存占主机内存的比例(%),范围:0~95。 |
✓ |
✓ |
✓ |
✓ |
||
打开 config 和 save 命令 |
是否打开 BGREWRITEAOF、BGSAVE、CONFIG、DEBUG、KEYS、REPLICAOF、SAVE、SHUTDOWN 和 SLAVEOF 命令。
|
✓ |
✓ |
✓ |
✓ |
||
禁用 FLUSH 命令 |
是否禁用 FLUSHALL 和 FLUSHDB 命令。
|
✕ |
✓ |
✓ |
✓ |
||
requirepass |
需要客户端使用密码才能执行命令,密码可由数字、字母或特殊字符 不设置则密码为空。 |
✓ |
✓ |
✓ |
✓ |
||
activerehashing |
是否开启 rehashing 以节省内存空间。
|
✓ |
✓ |
✓ |
✓ |
||
appendonly |
是否使用 AOF 持久化功能。
|
✓ |
✓ |
✓ |
✓ |
||
appendfsync |
AOF 的同步策略。
|
✓ |
✓ |
✓ |
✓ |
||
cluster-node-timeout |
用于设置集群节点超时时间,当集群的节点超过该设置值未响应时,可视该节点处于故障状态。
|
✕ |
✓ |
✓ |
✓ |
||
hash-max-ziplist-entries |
当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:
|
✓ |
✓ |
✓ |
✕ |
||
hash-max-ziplist-value |
当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:
|
✓ |
✓ |
✓ |
✕ |
||
latency-monitor-threshold |
当有操作耗时超过设定的时间后会被记录下来。 单位为毫秒(ms)。0表示禁用这个功能。 |
✓ |
✓ |
✓ |
✓ |
||
list-max-ziplist-entries |
当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码:
|
✓ |
✓ |
✓ |
✕ |
||
list-max-ziplist-value |
当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码:
|
✓ |
✓ |
✓ |
✕ |
||
maxclients |
同一时间允许最大的客户端连接数。 默认为 0,表示无限制,此时最大的客户端连接数为 Redis 进程可以打开的最大文件描述符的数量。 |
✓ |
✓ |
✓ |
✓ |
||
maxmemory-policy |
当 Redis 内存占用达到最大的时候,使用何种策略来应对(删除)Keys。LRU 表示最近最少使用的。LFU 表示最不常用的。TTL 表示设置过期时间。LRU,LFU 和 TTL 都是使用近似随机算法实现的。
|
✓ |
✓ |
✓ |
✓ |
||
maxmemory-samples |
LRU 和 minimal TTL 算法不是特别精确,此项用来针对速度和精确性进行调优。 默认值为 5。设置为 10 可以非常近似真正的LRU但是会多消耗 CPU,设置为 3 速度很快但不是非常精确。 |
✓ |
✓ |
✓ |
✓ |
||
min-slaves-max-lag |
当一个主节点的从节点数量小于 min-slaves-to-write 指定值,并且每个从节点的延迟超过 min-slaves-max-lag 指定值时,停止接受写操作。单位为秒(s)。 |
✓ |
✓ |
✓ |
✕ |
||
min-slaves-to-write |
当一个主节点的从节点数量小于 min-slaves-to-write 指定值,并且每个从节点的延迟超过 min-slaves-max-lag 指定值时,停止接受写操作。 |
✓ |
✓ |
✓ |
✕ |
||
no-appendfsync-on-rewrite |
当有 BGSAVE 或 BGREWRITEAOF 正在执行的时候,阻止 fsync() 的调用。
|
✓ |
✓ |
✓ |
✓ |
||
notify-keyspace-events |
指定Redis会发送哪些类型的通知。
|
✓ |
✓ |
✓ |
✓ |
||
repl-backlog-size |
主节点保存 repl_backlog 的大小。 单位为字节(Byte)。 |
✓ |
✓ |
✓ |
✓ |
||
repl-backlog-ttl |
所有 slaves 不可用时,主节点保留 repl_backlog 多长时间。 单位为秒(s)。默认 3600 秒。 |
✓ |
✓ |
✓ |
✓ |
||
repl-timeout |
主从复制超时时间。 单位为秒(s)。默认 60 秒。 |
✓ |
✓ |
✓ |
✓ |
||
set-max-intset-entries |
当 Set 集合内的数据符合以下条件时,在多少个节点之前使用 intset 来编码:
|
✓ |
✓ |
✓ |
✓ |
||
slowlog-log-slower-than |
当某项操作的执行时间超过设定的值后会被记录到慢日志。单位为微秒(μs)。
|
✓ |
✓ |
✓ |
✓ |
||
slowlog-max-len |
服务器最多保存多少条慢查询日志。 |
✓ |
✓ |
✓ |
✓ |
||
tcp-keepalive |
定时向客户端发送 tcp_ack 包来探测客户端是否存活。 单位为秒(s)。默认为 0,表示不探测。 |
✓ |
✓ |
✓ |
✓ |
||
超时时间 |
当客户端连接闲置时间达到该指定值时,将关闭连接。 单位为秒(s)。 |
✓ |
✓ |
✓ |
✓ |
||
zset-max-ziplist-entries |
当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码,以节省内存空间:
|
✓ |
✓ |
✓ |
✕ |
||
zset-max-ziplist-value |
当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码,以节省内存空间:
|
✓ |
✓ |
✓ |
✕ |
||
lua-time-limit |
Lua 脚本的执行超时时间(单位ms)。 0 或负值表示没有限制。 |
✓ |
✓ |
✓ |
✓ |
||
TLS-Auth-Clients |
是否需要客户端证书进行身份认证。
|
✕ |
✕ |
✓ |
✓ |
||
TLS-Protocols |
指定要支持的 TLS 版本。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Ciphers |
配置允许的 TLS 加密算法,该配置仅适用于 <= TLSv1.2。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Ciphersuites |
配置允许的 TLSv1.3 加密算法。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Prefer-Server-Ciphers |
密码规则以服务器为准。
|
✕ |
✕ |
✓ |
✓ |
||
tls-session-caching |
是否开启 TLS 会话缓存。
|
✕ |
✕ |
✓ |
✓ |
||
TLS-Session-Cache-Size |
TLS 会话缓存大小。 默认大小为 20480。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Session-Cache-Timeout |
TLS 会话的默认超时时间。 单位为秒(s)。默认超时时间为 300 秒。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Cert |
用于进行身份验证的客户端证书。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-Key |
用于进行身份验证的私钥文件。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-CA-Cert |
用于验证的 CA 证书文件。 |
✕ |
✕ |
✓ |
✓ |
||
TLS-DH-Params |
密匙交换参数。配置 DH 参数文件以启用 Diffie-Hellman(DH)密钥交换。 |
✕ |
✕ |
✓ |
✓ |
||
Enable Node-Exporter |
表示是否开启 Node-Exporter 服务端口。
开启后默认端口为 9100。 |
✕ |
✕ |
✕ |
✓ |
||
Enable redis-Exporter |
表示是否开启 Redis-Exporter 服务端口。
开启后默认端口为 9121。 |
✕ |
✕ |
✕ |
✓ |
||
开启文件查看控制台 |
是否开启文件查看控制台。
|
✕ |
✓ |
✓ |
✓ |
||
文件查看用户名 |
用来访问文件查看控制台的用户名。 可以包含小写字母、数字、半角句点(.)和短横线(-)。修改后不会重启 Redis。 |
✕ |
✓ |
✓ |
✓ |
||
文件查看密码 |
用来访问文件查看控制台的密码。 可由数字、字母、下划线组成,默认为空表示不需要密码,可以直接访问。修改后不会重启 Redis。 |
✕ |
✓ |
✓ |
✓ |