修改自定义参数模板
您可以根据业务需要修改自定义参数模板的名称、描述和配置参数。
操作步骤
- 登录分布式缓存服务管理控制台。
- 在管理控制台左上角单击,选择实例所在的区域。
- 单击左侧菜单栏的“参数模板”,进入“参数模板”页面。
- 选择“自定义”。
- 可以通过两种方式修改自定义参数模板。
- 单击需要修改的自定义模板右侧“操作”栏下的“编辑”。
- 修改模板名称和描述。
- 在“配置参数”区域,在选项框选择“可修改参数”,在需要修改的配置参数对应的“参数运行值”列输入修改值。各参数的详细介绍见表1,一般情况下,按照系统默认值设置参数即可。
- 单击“确定”,完成修改配置参数。
- 单击自定义模板名称,进入模板的参数页面,可修改配置参数。
- 配置参数选择“可修改参数”。支持通过参数名称搜索对应的参数,直接在搜索栏输入关键字即可。
- 单击“修改”。
- 在需要修改的配置参数对应的“参数运行值”列输入修改值。各参数的详细介绍见表1,一般情况下,按照系统默认值设置参数即可。
- 单击“保存”,完成修改配置参数。
表1 Redis缓存实例配置参数说明 参数名
参数解释
取值范围
默认值
active-expire-num
过期键定期删除时随机检查key的数量。
Redis 3.0和Redis 6.0企业版实例不支持该参数。
1~1,000
20
timeout
客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。
Proxy集群实例不支持该参数。
0~7200,单位:秒。
0
appendfsync
操作系统的fsync函数刷新缓冲区数据到磁盘,有些操作系统会真正刷新磁盘上的数据,其他一些操作系统只会尝试尽快完成。单机实例不支持该参数。
Redis支持三种不同的调用fsync的方式:
no:不调用fsync,由操作系统决定何时刷新数据到磁盘,性能最高。
always:每次写AOF文件都调用fsync,性能最差,但数据最安全。
everysec:每秒调用一次fsync。兼具数据安全和性能。
- no
- always
- everysec
no
appendonly
指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。单机实例不支持该参数。
有如下取值供选择:
yes:开启日志记录,即开启持久化功能。
no:关闭日志记录,即关闭持久化功能。
only-replica:仅开启从节点持久化功能。
说明:目前appendonly参数默认只有yes和no两个配置项,如果是Redis 4.0/5.0/6.0基础版主备或集群实例,联系运维人员放通该参数的白名单后,会显示only-replica配置项。
- yes
- no
- only-replica
yes
client-output-buffer-limit-slave-soft-seconds
主从同步缓冲区大小软限制持续秒数。
0~60
60
client-output-buffer-slave-hard-limit
主从同步缓冲区大小硬限制,单位字节。如果同步缓冲区大小超过这个值,则主从同步连接立即断开。
0~17,179,869,184
1,717,986,918
client-output-buffer-slave-soft-limit
主从同步缓冲区大小软限制,单位字节。如果同步缓冲区大小超过这个值达到client-output-buffer-limit-slave-soft-seconds参数配置的秒数,则主从同步连接断开。
0~17,179,869,184
1,717,986,918
maxmemory-policy
内存使用达到上限时,对缓存数据的逐出策略。有8个取值供选择:
- volatile-lru:根据LRU算法删除设置了过期时间的键值。
- allkeys-lru:根据LRU算法删除任一键值。
- volatile-random:删除设置了过期时间的随机键值。
- allkeys-random:删除一个随机键值。
- volatile-ttl:删除即将过期的键值,即TTL值最小的键值。
- noeviction:不删除任何键值,只是返回一个写错误。
- volatile-lfu: 根据LFU算法删除设置了过期时间的键值。
- allkeys-lfu: 根据LFU算法删除任一键值。
详情可参考Redis官网的逐出策略。
- volatile-lru
- allkeys-lru
- volatile-random
- allkeys-random
- volatile-ttl
- noeviction
- volatile-lfu
- allkeys-lfu
volatile-lru
说明:如果是2020年7月之前创建的Redis实例,且没有修改过该参数,则默认值为noeviction。如果是2020年7月之后创建的实例,默认值都为volatile-lru。
lua-time-limit
Lua脚本的最长执行时间,单位为毫秒。
100~5,000
5,000
master-read-only
设置实例为只读状态。设置只读后,所有写入命令将返回失败。
Proxy集群实例不支持该参数。
- yes
- no
no
maxclients
最大同时连接的客户端个数。
该参数为单节点(单分片)连接数上限:
- 集群实例单节点连接数上限=实例连接数上限/分片数。
- 单机/主备/读写分离实例,单节点连接数上限=实例最大连接数。
Proxy集群实例不支持该参数。
1,000~50,000
10,000
proto-max-bulk-len
Redis协议中的最大的请求大小,单位为字节。
1,048,576~536,870,912
536,870,912
repl-backlog-size
用于增量同步的复制积压缓冲区大小(单位为字节)。这是一个用来在从节点断开连接时,存放从节点数据的缓冲区,当从节点重新连接时,如果丢失的数据少于缓冲区的大小,可以用缓冲区中的数据开始增量同步。
16,384~1,073,741,824
1,048,576
repl-backlog-ttl
从节点断开后,主节点释放复制积压缓冲区内存的秒数。值为0时表示永不释放复制积压缓冲区内存。
0~604,800
3,600
repl-timeout
主从同步超时时间,单位为秒。
30~3,600
60
hash-max-ziplist-entries
当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。
1~10000
512
hash-max-ziplist-value
当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。
1~10000
64
set-max-intset-entries
当一个集合仅包含字符串且整型元素数量少于参数值时,使用intset编码格式,节约内存。
1~10000
512
zset-max-ziplist-entries
当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。
1~10000
128
zset-max-ziplist-value
当有序集合中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。
1~10000
64
latency-monitor-threshold
延时监控的采样时间阈值(最小值)。
当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。
您可以通过LATENCY等命令获取统计数据和配置、执行采样监控。详情参考Redis官网说明:https://redis.io/docs/reference/optimization/latency-monitor/。
Proxy集群实例不支持该参数。
0~86400000,单位:毫秒。
0
notify-keyspace-events
键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。
Proxy集群实例不支持该参数。
可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知:
K:键空间通知,所有通知以__keyspace@*__为前缀。
E:键事件通知,所有通知以__keyevent@*__为前缀。
g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。
$:字符串命令的通知。
l:列表命令的通知。
s:集合命令的通知。
h:哈希命令的通知。
z:有序集合命令的通知。
x:过期事件:每当有过期键被删除时发送。
e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。
其他描述,请参考表格下方的说明。
Ex
slowlog-log-slower-than
redis慢查询会记录超过指定执行时间的命令。slowlog-log-slower-than用于配置记录到慢查询的命令执行时间阈值,其以微秒为单位。
0~1,000,000
10,000
slowlog-max-len
慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。
0~1,000
128
auto-kill-timeout-lua-process
yes:开启。
no:关闭。
开启该参数时,执行超时的lua脚本进程会被自动kill。如果lua脚本执行了写操作无法kill,并且实例开启了持久化时,则该lua脚本所在的节点会自动重启,lua脚本执行的写操作将不被保存。
单机实例和Redis 3.0实例不支持该参数。
- yes
- no
no
- maxclients、reserved-memory-percent、client-output-buffer-slave-soft-limit、client-output-buffer-slave-hard-limit参数的默认值和取值范围与实例规格有关,因此不支持修改该四个参数。
- 表1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。
- latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。
- notify-keyspace-events参数的其他描述:
- 有效值为[K|E|KE][A|g|l|s|h|z|x|e|$],即输入的参数中至少要有一个K或者E。
- A为“g$lshzxe”所有参数的集合别名。A与“g$lshzxe”中任意一个不能同时出现。
- 例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。若将参数设为字符串"AKE"表示发送所有类型的通知。
- 单击需要修改的自定义模板右侧“操作”栏下的“编辑”。