参数介绍
在 AppCenter 集群管理控制台,支持对 Redis Standalone 常用配置参数的管理。
Redis Cluster 支持部分参数的配置与修改,不同版本支持的参数有所区别。为便于阅读和内容表达,本文的表格约定使用下述注释:
- ✓ 表示在该版本,支持该参数。
- ✕ 表示在该版本,不支持该参数。
本小节主要介绍 AppCenter 中各 Redis Standalone 具体参数说明。
访问参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x |
---|---|---|---|---|
禁用 FLUSH 命令 | - | 表示是否禁用 FLUSHALL 及 FLUSHDB 命令。 - 默认为 否 ,表示不禁用。 ⚠️注意 |
✓ | ✓ |
端口 | 1~65536 | 表示 Redis 服务端口。 - 默认为 6379。 - 若修改了端口,则需要打开集群网络防火墙中的对应的端口号。如修改端口为 6378,需要打开防火墙的 6378 端口。 |
✓ | ✓ |
控制台管理 ACL | 表示是否由控制台管理 ACL 服务。 - 默认为 是 ,表示开启控制台管理 ACL 服务,禁止通过命令创建 ACL 帐号。 - 否 表示关闭控制台管理 ACL 服务,支持通过命令创建 ACL 帐号。 ⚠️注意 再次开启此服务,将删除已存在的 ACL 用户。 |
✕ | ✓ | |
requirepass | - | 表示登录客户端使用密码才能执行命令。 - 密码可由数字、字母或 !@#$%^&*()./; 组成,且最少6位。 - 不设置则密码为空。 ⚠️注意 6.x版本及以后版本,该参数值为default 用户密码。 |
✓ | ✓ |
io-threads | - | IO 多线程。默认值为:
|
✕ | ✓ |
io-threads-do-reads |
|
IO 开启多线程读。默认值为:
|
✕ | ✓ |
TLS 参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x |
---|---|---|---|---|
TLS-Port | 0~65535 | 表示 TLS 监听端口。 |
✕ | ✓ |
Sentinel.TLS-Port | 0~65535 | 表示 Redis 哨兵 TLS 服务端口。 |
✕ | ✓ |
Tls-Replication | 表示是否启用 TLS 复制功能。 | ✕ | ✓ | |
TLS-Auth-Clients | 表示是否需要 TLS 客户端证书进行身份认证。是 表示必须使用客户端证书。否 表示不需要且不接受客户端证书。optional 表示可选,如果提供则有效,但不是必需的。 |
✕ | ✓ | |
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 会话的默认超时时间。 |
✕ | ✓ |
TLS-Cert | - | 表示用于进行身份验证的客户端证书。 | ✕ | ✓ |
TLS-Key | - | 表示用于进行身份验证的私钥文件。 | ✕ | ✓ |
TLS-CA-Cert | - | 表示用于验证的 CA 证书文件。 | ✕ | ✓ |
TLS-DH-Params | - | 表示密匙交换参数。配置 DH 参数文件以启用 Diffie-Hellman(DH)密钥交换。 | ✕ | ✓ |
性能优化
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x |
---|---|---|---|---|
最大内存比例 | 10~95 | 表示 Redis 最大可用内存占主机内存的比例(%)。 |
✓ | ✓ |
databases | 1~2000 | 表示 redis-server 数据库的数量。 |
✓ | ✓ |
Sentinel.Port | 1~65536 | 表示 Redis 哨兵服务端口。 |
✓ | ✓ |
sentinel.down-after -milliseconds | 2000~30000 | 表示 master 被 sentinel 标记为主观下线 (sdown) 的超时时间。 |
✓ | ✓ |
sentinel.failover -timeout | 30000~180000 | 表示两次 failover 间的间隔时间。 |
✓ | ✓ |
sentinel.requirepass | - | 表示 Redis 哨兵服务的密码。 |
✓ | ✓ |
启用 Redis 命令 | - | 表示是否打开 Redis 相关命令。DISABLE_ALL 、CONFIG 、DEBUG 、SAVE 命令。DISABLE_ALL 选项将禁用以下命令:CONFIG、BGREWRITEAOF、BGSAVE、DEBUG、SAVE、 SHUTDOWN、SLAVEOF、KEYS、 REPLICAOF。 ⚠️注意 请谨慎配置该参数,错误地使用可能会导致服务不可用。 |
✓ | ✓ |
activerehashing | 表示是否开启 rehashing 以节省内存空间。是 表示开启。否 表示不开启。 |
✓ | ✓ | |
appendonly | 表示是否使用 AOF 持久化功能。是 表示使用。否 表示不使用。 |
✓ | ✓ | |
appendfsync | 表示 AOF 的同步策略。everysec 表示最多每秒调用一次 fsync否 表示 write 后不会有 fsync 调用。一直有效 表示每次 write 后都会调用 fsync。 |
✓ | ✓ | |
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 秒的时候,停止接受写操作。 |
✓ | ✓ |
min-slaves-to-write | 0~ | 表示当一个主节点有小于 N 个从节点并且每个从节点的延迟最大不超过 M 秒的时候,停止接受写操作。 |
✓ | ✓ |
no-appendfsync-on -rewrite | 表示当有 BGSAVE 或 BGREWRITEAOF 正在执行的时候,阻止 fsync() 的调用。 |
✓ | ✓ | |
notify-keyspace-events | - | 表示指定 Redis 会发送哪些类型的通知。K :键空间通知,所有通知以__keyspace@E :键事件通知,所有通知以__keyevent@g :DEL、EXPIRE、RENAME 等类型无关的通用命令的通知。$ :字符串命令的通知。l :列表命令的通知。s :集合命令的通知。h :哈希命令的通知。z :有序集合命令的通知。x :过期事件,每当有过期键被删除时发送。e :驱逐(evict)事件,每当有键因为 maxmemory 策略而被删除时发送。A :参数 g$lshzxe 的别名。 说明 - 开启键空间通知将消耗 CPU 计算资源,故该通知默认关闭。- 如果定义服务器发送某些通知,输入参数需必选 K 或 E ;如订阅键事件中驱逐事件相关的通知,参数填写为“Ee”;如订阅发送所有类型的通知,参数填写为“AKE”。 |
✓ | ✓ |
repl-backlog-size | 16384~ | 表示主节点保存 repl_backlog 的大小。1048576 ,单位为字节(Byte)。 |
✓ | ✓ |
repl-backlog-ttl | 0~ | 表示所有 slaves 不可用时,主节点保留 repl_backlog 多长时间。3600 ,单位为秒(s)。 |
✓ | ✓ |
repl-timeout | 0~ | 表示主从复制超时时间。60 ,单位为秒(s)。 |
✓ | ✓ |
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 编码,以节省内存空间: |
✓ | ✓ |
lua-time-limit | 0~ | 表示 Lua 脚本的执行超时时间(单位ms)。 0 或负值表示没有限制。 |
✓ | ✓ |
ziplist 编码参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.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 编码: |
✓ | ✓ |
监控服务参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x |
---|---|---|---|---|
Enable Node-Exporter | 表示是否开启 Node-Exporter 服务端口。 |
✓ | ✓ | |
Enable redis-Exporter | 表示是否开启 Redis-Exporter 服务端口。 |
✓ | ✓ | |
Enable zabbix | 表示是否开启 Zabbix 日志服务端口。 |
✓ | ✓ | |
zabbix server | - | 表示 Zabbix 服务器地址。默认为 127.0.0.1 。 | ✓ | ✓ |
named-sessions | - | 表示 Zabbix 服务命名。默认为 redis 。 |
✓ | ✓ |
日志服务参数
参数 | 取值范围 | 参数说明 | Redis 5.x | Redis 6.x |
---|---|---|---|---|
开启文件查看控制台 | 表示是否开启 Caddy 日志文件查看控制台。true 表示开启。false 表示关闭。 |
✓ | ✓ | |
文件查看用户名 | - | 表示用来访问 Caddy 日志文件查看控制台的用户名。admin 。 |
✓ | ✓ |
文件查看密码 | - | 表示用来访问 Caddy 日志文件查看控制台的密码。 |
✓ | ✓ |