参数介绍
在 AppCenter 集群管理控制台,支持对 Redis Standalone 常用配置参数的管理。
Redis Cluster 支持部分参数的配置与修改,不同版本支持的参数有所区别。为便于阅读和内容表达,本文的表格约定使用下述注释:
-
✓ 表示在该版本,支持该参数。
-
✕ 表示在该版本,不支持该参数。
本小节主要介绍 AppCenter 中各 Redis Standalone 具体参数说明。
访问参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x | ||
---|---|---|---|---|---|---|---|
禁用 FLUSH 命令 |
- |
表示是否禁用 FLUSHALL 及 FLUSHDB 命令。 默认为
|
✓ |
✓ |
✓ |
||
端口 |
1~65536 |
表示 Redis 服务端口。
|
✓ |
✓ |
✓ |
||
控管台管理 ACL |
|
表示是否由控制台管理 ACL 服务。
|
✕ |
✓ |
✓ |
||
requirepass |
- |
表示登录客户端使用密码才能执行命令。
6.x 及以后版本,该参数值为 default 用户密码。 |
✓ |
✓ |
✓ |
TLS 参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x |
---|---|---|---|---|---|
TLS-Port |
0~65535 |
表示 TLS 监听端口。 默认值 0,表示关闭。 |
✕ |
✓ |
✓ |
Sentinel.TLS-Port |
0~65535 |
表示 Redis 哨兵 TLS 服务端口。 默认值 0,表示关闭。 |
✕ |
✓ |
✓ |
Tls-Replication |
|
表示是否启用 TLS 复制功能。 |
✕ |
✓ |
✓ |
TLS-Auth-Clients |
|
表示是否需要 TLS 客户端证书进行身份认证。
|
✕ |
✓ |
✓ |
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 会话的默认超时时间。 默认值为 300 ,单位为秒(s)。 |
✕ |
✓ |
✓ |
TLS-Cert |
- |
表示用于进行身份验证的客户端证书。 |
✕ |
✓ |
✓ |
TLS-Key |
- |
表示用于进行身份验证的私钥文件。 |
✕ |
✓ |
✓ |
TLS-CA-Cert |
- |
表示用于验证的 CA 证书文件。 |
✕ |
✓ |
✓ |
TLS-DH-Params |
- |
表示密匙交换参数。配置 DH 参数文件以启用 Diffie-Hellman(DH)密钥交换。 |
✕ |
✓ |
✓ |
性能优化
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x | ||
---|---|---|---|---|---|---|---|
最大内存比例 |
10~95 |
表示 Redis 最大可用内存占主机内存的比例(%)。 默认值 80。 |
✓ |
✓ |
✓ |
||
databases |
1~2000 |
表示 redis-server 数据库的数量。 默认值 16。 |
✓ |
✓ |
✓ |
||
Sentinel.Port |
1~65536 |
表示 Redis 哨兵服务端口。 默认值 26379。 |
✓ |
✓ |
✓ |
||
sentinel.down-after-milliseconds |
2000~30000 |
表示 master 被 sentinel 标记为主观下线(sdown)的超时时间。 默认值 4000,单位为毫秒。 |
✓ |
✓ |
✓ |
||
sentinel.failover-timeout |
30000~180000 |
表示两次 failover 间的间隔时间。 默认值 60000,单位为毫秒。 |
✓ |
✓ |
✓ |
||
sentinel.requirepass |
- |
表示 Redis 哨兵服务的密码。
|
✓ |
✓ |
✓ |
||
启用 Redis 命令 |
- |
表示是否打开 Redis 相关命令。
|
✓ |
✓ |
✓ |
||
activerehashing |
|
表示是否开启 rehashing 以节省内存空间。
|
✓ |
✓ |
✓ |
||
appendonly |
|
表示是否使用 AOF 持久化功能。
|
✓ |
✓ |
✓ |
||
appendfsync |
|
表示 AOF 的同步策略。
|
✓ |
✓ |
✓ |
||
maxclients |
1~65000 |
表示同一时间允许最大的客户端连接数。默认为 0,表示无限制,此时最大的客户端连接数为 Redis 进程可以打开的最大文件描述符的数量。 |
✓ |
✓ |
✓ |
||
maxmemory-policy |
|
表示当 Redis 内存占用达到最大的时候,使用何种策略来应对(删除)Keys。LRU 表示最近最少使用的。LFU 表示最不常用的。TTL 表示设置过期时间。LRU,LFU 和 TTL 都是使用近似随机算法实现的。
|
✓ |
✓ |
✓ |
||
maxmemory-samples |
0~ |
表示 LRU 和 minimal TTL 算法不是特别精确,此项用来针对速度和精确性进行调优。
|
✓ |
✓ |
✓ |
||
min-slaves-max-lag |
0~ |
表示当一个主节点有小于 N 个从节点并且每个从节点的延迟最大不超过 M 秒的时候,停止接受写操作。 默认值为 10,单位为秒(s)。 |
✓ |
✓ |
✕ |
||
min-slaves-to-write |
0~ |
表示当一个主节点有小于 N 个从节点并且每个从节点的延迟最大不超过 M 秒的时候,停止接受写操作。 默认值为 0,单位为秒(s)。 |
✓ |
✓ |
✕ |
||
min-replicas-max-lag |
0~ |
表示当一个主节点有小于 N 个从节点并且每个从节点的延迟最大不超过 M 秒的时候,停止接受写操作。 默认值为 10,单位为秒(s)。 |
✕ |
✕ |
✓ |
||
min-replicas-to-write |
0~ |
表示当一个主节点有小于 N 个从节点并且每个从节点的延迟最大不超过 M 秒的时候,停止接受写操作。 默认值为 0,单位为秒(s)。 |
✕ |
✕ |
✓ |
||
no-appendfsync-on-rewrite |
|
表示当有 BGSAVE 或 BGREWRITEAOF 正在执行的时候,阻止 fsync() 的调用。
|
✓ |
✓ |
✓ |
||
notify-keyspace-events |
- |
表示指定 Redis 会发送哪些类型的通知。
|
✓ |
✓ |
✓ |
||
repl-backlog-size |
16384~ |
表示主节点保存 repl_backlog 的大小。 默认值 |
✓ |
✓ |
✓ |
||
repl-backlog-ttl |
0~ |
表示所有 slaves 不可用时,主节点保留 repl_backlog 多长时间。 默认值 |
✓ |
✓ |
✓ |
||
repl-timeout |
0~ |
表示主从复制超时时间。 默认值 |
✓ |
✓ |
✓ |
||
set-max-intset-entries |
0~ |
表示当 Set 集合内的数据符合以下条件时,在多少个节点之前使用 intset 来编码。
|
✓ |
✓ |
✓ |
||
slowlog-log-slower-than |
-1~60000 |
表示当某项操作的执行时间超过设定的值后会被记录到慢日志。单位为微秒(μs)。 负数会禁用慢日志,而零值会强制记录每个命令。 |
✓ |
✓ |
✓ |
||
slowlog-max-len |
0~1000 |
表示服务器最多保存多少条慢查询日志。 |
✓ |
✓ |
✓ |
||
tcp-keepalive |
0~2147483647 |
表示定时向客户端发送 tcp_ack 包来探测客户端是否存活。单位为秒(s)。默认为 0,表示不探测。 |
✓ |
✓ |
✓ |
||
超时 |
0~ |
表示当客户端连接闲置时间达到该指定值时,将关闭连接。单位为秒(s)。 |
✓ |
✓ |
✓ |
||
zset-max-ziplist-entries |
0~ |
表示当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码,以节省内存空间:
|
✓ |
✓ |
✕ |
||
zset-max-ziplist-value |
0~ |
表示当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码,以节省内存空间:
|
✓ |
✓ |
✕ |
||
zset-max-listpack-entries |
0~ |
表示当链表对象同时满足以下两个条件时,链表对象将使用 listpack 编码,以节省内存空间:
|
✕ |
✕ |
✓ |
||
zset-max-listpack-value |
0~ |
表示当链表对象同时满足以下两个条件时,链表对象将使用 listpack 编码,以节省内存空间:
|
✕ |
✕ |
✓ |
||
lua-time-limit |
0~ |
表示 Lua 脚本的执行超时时间(单位 ms)。 |
✓ |
✓ |
✓ |
ziplist 编码参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x |
---|---|---|---|---|---|
hash-max-ziplist-entries |
0~512 |
表示当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:
|
✓ |
✓ |
✕ |
hash-max-ziplist-value |
0~64 |
表示当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:
|
✓ |
✓ |
✕ |
latency-monitor-threshold |
0~600000 |
表示当有操作耗时超过设定的时间后会被记录下来。单位为毫秒(ms)。0 表示禁用这个功能。 |
✓ |
✓ |
✓ |
list-max-ziplist-entries |
0~512 |
表示当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码:
|
✓ |
✓ |
✕ |
list-max-ziplist-value |
0~64 |
表示当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码:
|
✓ |
✓ |
✕ |
listpack 编码参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x |
---|---|---|---|---|---|
hash-max-listpack-entries |
0~512 |
表示当哈希对象中保存的键值对数量少于多少时,使用 listpack 来编码,以节省内存空间。 |
✕ |
✕ |
✓ |
hash-max-listpack-value |
0~64 |
表示当哈希对象中保存的最大键值对长度小于多少字节时,使用 listpack 来编码,以节省内存空间。 |
✕ |
✕ |
✓ |
list-max-listpack-size |
- |
quicklist 中的每个节点的 ziplist 的大小。 |
✕ |
✕ |
✓ |
监控服务参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x |
---|---|---|---|---|---|
Enable Node-Exporter |
|
表示是否开启 Node-Exporter 服务端口。 开启后默认端口为 9100。 |
✓ |
✓ |
✓ |
Enable redis-Exporter |
|
表示是否开启 Redis-Exporter 服务端口。 开启后默认端口为 9121。 |
✓ |
✓ |
✓ |
Enable zabbix |
|
表示是否开启 Zabbix 日志服务端口。 开启后默认端口为 10050。 |
✓ |
✓ |
✕ |
zabbix server |
- |
表示 Zabbix 服务器地址。默认为 127.0.0.1。 |
✓ |
✓ |
✕ |
named-sessions |
- |
表示 Zabbix 服务命名。默认为 |
✓ |
✓ |
✕ |
日志服务参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x | Redis 7.x |
---|---|---|---|---|---|
开启文件查看控制台 |
|
表示是否开启 Caddy 日志文件查看控制台。
|
✓ |
✓ |
✓ |
文件查看用户名 |
- |
表示用来访问 Caddy 日志文件查看控制台的用户名。
|
✓ |
✓ |
✓ |
文件查看密码 |
- |
表示用来访问 Caddy 日志文件查看控制台的密码。
|
✓ |
✓ |
✓ |