有奖捉虫:云通信与企业服务文档专题,速来> HOT
本文为您介绍如何通过控制台设置 Redis 的实例参数。

操作场景

云数据库 Redis 支持自定义实例部分参数。您可以通过 Redis 控制台 查看和修改支持的参数,并可以在控制台查看参数修改记录。
说明:
为保证实例的稳定,控制台仅开放部分参数的修改,控制台的参数配置页面展示的参数即为用户可以修改的参数。

编辑参数

编辑单个参数

1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击实例 ID,进入实例详情页面。
4. 实例详情页面,选择参数配置页签。
5. 选择目标参数所在行,在当前运行参数值列,将鼠标放在参数值上面,单击

修改参数值。



6. 根据修改参数所在参考值列的提示,输入参数值,单击

保存,单击

可取消操作。



批量编辑参数

1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击实例 ID,进入实例详情页面。
4. 选择参数配置页签,单击修改运行值
5. 当前运行参数值列,选择需要修改的参数进行修改,确认修改无误后,单击确定,参数将被修改。

为当前实例导入参数模板

1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击实例 ID,进入实例详情页面。
4. 选择参数配置页签,单击从模板导入
5. 从参数模板导入的对话框,在选择参数模板后面的下拉列表中选择已创建的参数模板。
6. 单击导入并覆盖原有参数,当前实例所有的参数将按照模板的参数值来设置。

导出实例的参数

1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击实例 ID,进入实例详情页面。
4. 选择参数配置页签,单击导出参数
5. 在页面下方将看到导出的参数文件,可以在本地打开查看。

另存为模板

另存为模板,可以将当前实例现有的参数,指定为一固定的模板,便于其他实例应用该实例的参数。
1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击实例 ID,进入实例详情页面。
4. 选择参数配置页签,单击另存为模板
5. 另存为参数模板对话框,根据界面提示信息设置模板名称模板描述
6. 单击创建并保存

查看参数修改历史

1. 登录 Redis 控制台
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击实例 ID,进入实例详情页面。
4. 选择参数配置页签,再选择修改历史页签,可查看近期参数修改记录。



支持自定义的参数

参数
说明
支持版本
auto-failback
多可用区部署实例时,该参数指定在故障恢复后,主节点是否会自动切换回主节点组(Cluster)。
Redis 4.0、5.0、6.2
disable-command-list
设置禁用命令,用户可根据实际业务需要关闭某些时间复杂度高或危险程度高的命令,被设置禁用的命令将不允许在此实例中运行,可以配置多个命令,例如“flushdb,keys”。
Redis 2.8、4.0、5.0、6.2
hz
设置执行频率。
Redis 2.8、4.0、5.0、6.2
maxmemory-policy
设置 Redis 内存缓存满后,数据的淘汰策略,可在如下策略中进行选择:
volatile-lru:对设置 TTL 过期时间的 key,使用 LRU 算法淘汰并删除,即优先淘汰设置了过期时间(TTL)的键中最近最少使用的键。
allkeys-lru:对所有的 key,使用 LRU 算法淘汰删除,即不管数据是否设置超时属性,优先淘汰最近最少使用的键,直到腾出足够空间为止。
volatile-random:对设置 TTL 过期时间的键,随机地淘汰删除。
allkeys-random:对所有的 key,随机地淘汰删除。
volatile-ttl:对设置 TTL 过期时间的 key,优先淘汰设置了过期时间的键中 TTL 值较小的键。
noeviction:不淘汰删除任何 key,拒绝所有写入操作,在写操作时返回错误信息。
volatile-lfu:优先淘汰设置了过期时间(TTL)的键中最不经常使用(LFU)的键。
allkeys-lfu:优先淘汰最不经常使用(LFU)的键,与 volatile-lfu 不同,allkeys-lfu 策略会淘汰所有键,而不仅是设置了过期时间(TTL)的键。
其中,LRU(Least Recently Used)表示最近最少使用;TTL(Time To Live)表示设置过期时间。LFU( Least Frequently Used)表示最不经常使用。具体信息,请参见 基本使用准则
Redis 2.8、4.0、5.0、6.2
cluster-node-timeout
设置集群节点超时时间,即集群中一个节点不可达的时间(毫秒),才能将该节点视为处于故障状态。
Redis 4.0、5.0、6.2
hash-max-ziplist-entries
当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:
哈希对象保存的所有键值对的键和值的字符串长度字节数,都小于 hash-max-ziplist-value 的值。
哈希对象保存的键值对数量,小于 hash-max-ziplist-entries 的值。
Redis 2.8、4.0、5.0、6.2
hash-max-ziplist-value
当哈希对象可以同时满足以下两个条件时,哈希对象使用 ziplist 编码:
哈希对象保存的所有键值对的键和值的字符串长度字节数,都小于 hash-max-ziplist-value 的值。
哈希对象保存的键值对数量,小于 hash-max-ziplist-entries 的值。
Redis 2.8、4.0、5.0、6.2
lazyfree-lazy-eviction
该参数用于控制 Redis 在执行内存回收时是否执行惰性删除(Lazy Free)和惰性驱逐(Lazy Eviction)。
惰性删除:当 Redis 需要删除某个键值对时,它并不会立即将该键值对从内存中删除,而是将该键值对标记为“待删除”,并等待下一次访问该键值对时再将其删除。存入过期队列,按照 HZ 设置的频次去执行过期Key 的清理。
惰性驱逐:当 Redis 需要释放一部分内存空间时,它并不会立即释放内存,而是将一些键值对标记为“待释放”存入过期队列,按照 HZ 设置的频次去执行过期 Key 的清理。这种方式可以减少 Redis 内存回收的开销,但会导致 Redis 的内存占用率较高。
该参数的取值如下所示。
no: 表示不使用惰性删除和惰性驱逐,Redis 在执行内存回收时会立即删除键值对或释放内存空间。
yes: 表示使用惰性删除和惰性驱逐。
Redis 2.8、4.0、5.0、6.2
lazyfree-lazy-expire
该参数用于控制 Redis 在执行过期键删除时是否执行惰性删除(Lazy Free)。
no: 表示不使用惰性删除,Redis 在执行过期键删除时会立即删除键值对。
yes: 表示使用惰性删除,Redis 在执行过期键删除时会将一些键值对标记为“待删除”,存入过期队列,按照HZ设置的频次去执行过期 Key 的清理。
Redis 4.0、5.0、6.2
lazyfree-lazy-server-del
该参数控制 Redis 在执行 DEL命令删除键值对时的惰性删除行为。
no: 表示不使用惰性删除,Redis 在执行 DEL 命令删除键值对时会立即删除键值对。
yes: 表示使用惰性删除,Redis 在执行 DEL 命令删除键值对时会将一些键值对标记为“待删除”,存入过期队列,按照HZ设置的频次去执行过期 Key 的清理。
Redis 4.0、5.0、6.2
lazyfree-lazy-user-del
该参数用于指定 DEL 命令的默认行为是否与 UNLINK 命令相同。DEL命令用于删除 Redis 中的一个或多个键值对,而 UNLINK 命令用于删除 Redis 中的一个或多个键值对,并在删除前执行惰性删除(Lazy Free)。
no:DEL 命令将直接将键值对从内存中删除,而不执行惰性删除。
yes:DEL 命令的默认行为将与 UNLINK 命令相同,即在执行 DEL 命令时会先执行惰性删除,然后再将键值对从内存中删除。
Redis 4.0、5.0、6.2
proxy-slowlog-log-slower-than
设置 Proxy 慢日志的记录阈值,即在 Proxy 设置对执行时间大于多少毫秒的操作进行记录。
Redis 2.8、4.0、5.0、6.2
read-local-node-only
当实例为多可用区部署时,该参数指定是否开启或关系就近访问功能。
Redis 4.0、5.0
sentineauth
该参数控制当使用 sentinel 命令与 Redis Sentinel 进行交互时,是否省略 Redis 的密码,而自动使用在 Sentinel 配置文件中指定的 sentinelauth 参数所对应的密码。
6.2
set-max-intset-entries
当 set 集合对象同时符合以下2个条件时,会使用 intset 编码:
集合对象所有数据都是字符串。
恰好均是基数为10的整数,范围为64位有符号整数。
Redis 2.8、4.0、5.0
slowlog-log-slower-than
设置慢日志的记录阈值,即设置对执行时间大于多少毫秒的操作进行记录。
Redis 2.8、4.0、5.0
timeout
当客户端连接闲置时间达到该指定值时,将关闭连接,单位为秒(s)。
Redis 2.8、4.0、5.0
zset-max-ziplist-entries
当排序集合对象同时满足以下两个条件时,排序集合对象将使用 ziplist 编码:
排序集合对象的每个元素的字符串长度的字节数,均小于 zset-max-ziplist-value 指定值。
排序集合对象的元素数量,均小于 zset-max-ziplist-entries 指定值。
Redis 2.8、4.0、5.0
zset-max-ziplist-value
当排序集合对象同时满足以下两个条件时,排序集合对象将使用 ziplist 编码:
排序集合对象的每个元素的字符串长度的字节数,均小于 zset-max-ziplist-value 指定值。
排序集合对象的元素数量,均小于 zset-max-ziplist-entries 指定值。
Redis 2.8、4.0、5.0
notify-keyspace-events
notify-keyspace-events 的参数是下列字符的任意组合,定义了服务器将发送哪些类型的通知。
字符:发送的通知。
K:键空间通知,所有通知以__keyspace@<db>__为前缀。
E:键事件通知,所有通知以__keyevent@<db>__为前缀。
g:DEL、EXPIRE、RENAME 等类型无关的通用命令的通知。
$:字符串命令的通知。
l:列表命令的通知。
s:集合命令的通知。
h:哈希命令的通知。
z:有序集合命令的通知。
x:过期事件,每当有过期键被删除时发送。
e:驱逐(evict)事件,每当有键因为 maxmemory 策略而被删除时发送。
A:参数 g$lshzxe 的别名。开启键空间通知将消耗 CPU 计算资源,故该通知默认关闭。如果定义服务器发送某些通知,输入参数需必选 K 或 E;如订阅键事件中驱逐事件相关的通知,参数填写为“Ee”;如订阅发送所有类型的通知,参数填写为“AKE”。
Redis 2.8、4.0、5.0
list-max-ziplist-entries
当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码:
链表对象保存的每个元素的字符串长度的字节数,均小于 list-max-ziplist-value 指定值。
链表集合对象保存的元素数量,均小于 list-max-ziplist-entries 指定值。
Redis 2.8
list-max-ziplist-value
当链表对象同时满足以下两个条件时,链表对象将使用 ziplist 编码:
链表对象保存的每个元素的字符串长度的字节数,均小于 list-max-ziplist-value 指定值。
链表集合对象保存的元素数量,均小于 list-max-ziplist-entries 指定值。
Redis 2.8

相关 API

API 接口
接口含义
应用参数模板
创建参数模板
删除参数模板
查询参数修改历史列表
查询实例的参数列表
查询参数模板列表
修改实例参数
修改参数模板