阿里云redis数据库参数怎么修改

为保证实例的安全稳定运行,控制台仅开放部分参数的修改,您可以放心使用。控制台未提供的参数,您可以联系客服进行处理。
部分参数修改后需要重启实例,建议您在业务低峰期操作。请参见参数设置页面中的“重启生效”列,查看参数是否需要重启。
针对标准版-单副本与标准版-双副本架构,根据多年实践经验及性能测试数据为您提供较优的默认参数值。

参数修改
进入阿里云官网首页,点击页面右上角“管理控制台”,进入资源列表页面。
在页面左上角,选择购买实例的地域。
在资源列表页面,找到“云数据库” “云数据库Redis”,点击进入云数据库Redis控制台。
在实例列表页面,找到目标实例。单击目标实例名称,进入实例控制台实例管理功能模块。
从左侧导航栏进入“参数设置”页签,参考“参数名”列的参数解释,在“修改运行参数值”列进行目标参数修改。

说明:
根据多年实践经验及性能测试数据,针对标准版-单副本与标准版-双副本架构,已经为您提供较优的默认参数值。
用户输入范围超过参数范围时,文本框自动纠正为最小值(小于最小值时)、最大值(大于最大值时);
如果实例状态非运行中,参数修改时会有弹窗提示“当前实例状态不能进行此操作”;
参数设置完成后,会有弹窗提示“参数设置成功”;
修改完参数后,单击“保存”按钮,弹窗提示点击“确定”按钮。参考如所示。
查看“重启生效”列,确定参数修改是否需要实例重启。无需重启实例的参数,在“保存”后即生效;对于需要重启实例的参数,建议您在业务低峰期进行实例重启使其生效。

参数名

参数说明

参考默认值

参考范围

重启生效

hash-max-ziplist-entries

指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法。

hash类型数据采用何种压缩算法的阈值,2个参数结合使用,同时满足以下两个条件时使用ziplist(压缩列表)编码,
否则使用hash(哈希表)编码:
1hash对象保存的键值对数量小于hash-max-ziplist-entries的值;
2hash对象保存的所有键值对的键和值的字符串长度的字节数都小于hash-max-ziplist-value的值;

512

1~10000

hash-max-ziplist-value

64

1~10000

zset-max-ziplist-entries

类似于哈希(Hash)和列表(List)类型的数据,有序集合(Sorted Sets)也采用特殊的编码,以优化内存空间。

zset类型数据采用何种压缩算法的阈值,2个参数结合使用,同时满足以下两个条件时使用ziplist(压缩列表)编码,
否则使用skiplist(跳跃表)编码:
1zset对象保存的键值对数量小于zset-max-ziplist-entrie的值;
2zset对象保存的所有键值对的键和值的字符串长度的字节数都小于zset-max-ziplist-value的值;

128

1~10000

zset-max-ziplist-value

64

1~10000

list-max-ziplist-size

快速列表 (quicklist) 中压缩列表 (ziplist) 的最大长度。

控制quicklist节点上的ziplist长度的参数,当取正值的时候,表示按照数据项个数来限定每个quicklist节点上的ziplist长度。
比如,当这个参数配置成5的时候,表示每个quicklist节点的ziplist最多包含5个数据项。
当取负值的时候,表示按照占用字节数来限定每个quicklist节点上的ziplist长度。这时,它只能取-1-5这五个值,每个值含义如下:
-5: 每个quicklist节点上的ziplist大小不能超过64 Kb。(注:1kb => 1024 bytes
-4: 每个quicklist节点上的ziplist大小不能超过32 Kb
-3: 每个quicklist节点上的ziplist大小不能超过16 Kb
-2: 每个quicklist节点上的ziplist大小不能超过8 Kb。(-2Redis给出的默认值)
-1: 每个quicklist节点上的ziplist大小不能超过4 Kb

-2

-5~10000

list-compress-depth

控制一个quicklist两端不被压缩的节点个数
这里的节点个数是指quicklist双向链表的节点个数,而不是指ziplist里面的数据项个数。
实际上,一个quicklist节点上的ziplist,如果被压缩,就是整体被压缩的。
参数list-compress-depth的取值含义如下:
0: 是个特殊值,表示都不压缩。这是Redis的默认值。
n: 表示quicklist两端各有n个节点不压缩,中间的节点压缩。

0

0~10000

set-max-intset-entries

set类型数据采用何种压缩算法的阈值,当集合中的元素全是整数,且长度小于set-max-intset-entries时使用intset(整数集合)编码,否则使用hashtable(哈希表)编码;

512

0~10000

maxmemory-policy

设置当占用内存达到最大内存大小(maxmemory)参数设置值时采用的数据驱逐策略。下列策略可供选择:volatile-lruallkeys-lruvolatile-lfuallkeys-lfuvolatile-randomallkeys-randomvolatile-ttlnoeviction

当内存使用达到最大值时,redis使用的清除策略。有以下几种可以选择:
volatile-lru: 利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used );
allkeys-lru: 
利用LRU算法移除任何key;
volatile-lfu
:利用LFU算法移除设置过过期时间的key (LFU:最频繁使用 Least Frequently Used );
allkeys-lfu
:利用LFU算法移除任何key;
volatile-random: 
移除设置过过期时间的随机key;
allkeys-random: 
移除随机key;
volatile-ttl: 
移除即将过期的key(minor TTL);
noeviction: 
不移除任何key,只是返回一个写错误 ,默认选项;

volatile-lru

volatile-lfu;
allkeys-lfu;
volatile-lru;
allkeys-lru;
volatile-random;
allkeys-random;
volatile-ttl;
noeviction;

lazyfree-lazy-eviction

内存满逐出选项。
redis内存使用达到maxmeory并设置了淘汰策略,在被动淘汰键的时候,是否采用lazy free机制;
此场景开启lazy free, 可能淘汰键的内存释放不及时,导致redis内存超用,超过maxmemory的限制。

no

[yes|no]

lazyfree-lazy-expire

过期key删除选项。
针对设置有TTL的键过期后,被redis清理删除时是否采用lazy free机制。

no

[yes|no]

lazyfree-lazy-server-del

内部删除选项。
针对有些指令在处理已存在的键时,会带有一个隐式的DEL键的操作。如rename命令,当目标键已存在,redis会先删除目标键,如果这些目标键是一个大key,那就会引入阻塞删除的性能问题。 

no

[yes|no]

lua-time-limit

限制脚本的最长运行时间,默认为5秒钟,防止脚本执行时间过长导致Redis无法提供服务。当脚本运行时间超过这一限制后,Redis将开始接受其他命令但不会执行(以确保脚本的原子性,因为此时脚本并没有被终止),而是会返回“BUSY”错误。

5000

100~50000

loglevel

定义日志级别。可以是下面的这些值:
debug: 记录大量日志信息,适用于开发、测试阶段;
verbose: 较多日志信息;
notice: 适量日志信息,适用于生产环境;
warning: 仅有部分重要、关键信息才会被记录;

notice

debug;
verbose;
notice;
warning;

slowlog-log-slower-than

执行时间比slowlog-log-slower-than大的请求记录到slowlog里面,单位是微秒,所以1000000就是1秒。
sloglog是用来记录redis运行中执行比较慢的命令的耗时。
当命令的执行超过了指定时间,就记录在slowlog中,sloglog保存在内存中,所以没有IO操作。
负数时间会禁用慢查询日志,而0则会强制记录所有命令

10000

0~1000000

slowlog-max-len

慢查询最大的条数,当slowlog超过设定的最大值后,会将最早的slowlog删除,它是个FIFO队列

128

100~2000

timeout

设置客户端连接的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,则关闭该连接。默认值为0,表示不关闭。

600

0~7200

notify-keyspace-events

键空间通知使客户端可以通过订阅模式,来接收那些以某种方式改动了Redis 数据集的事件。开启键空间通知功能需要消耗一些 CPU ,所以在默认配置下,该功能处于关闭状态。
notify-keyspace-events的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知。
字符:发送的通知。
K:键空间通知,所有通知以__keyspace@<db>__为前缀。
E:键事件通知,所有通知以__keyevent@<db>__为前缀。
gDELEXPIRERENAME等类型无关的通用命令的通知。

$: 字符串的通知。
l:列表命令的通知。
s:集合命令的通知。
h:哈希命令的通知。
z:有序集合命令的通知。
x:过期事件。每当有过期键被删除时发送。
e:驱逐(evict)事件。每当有键因为maxmemory政策而被删除时发送。
A:参数g$lshzxe的别名。
输入的参数中至少要有一个K或者E,否则的话,不管其余的参数是什么,都不会有任何通知被分发。

""

K
E
g

$
l
s
h
z
x
e
A

latency-monitor-threshold

延时监控的采样时间阈值(最小值)。
当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。
延迟监控功能是用来监控redis中执行比较缓慢的一些操作,用LATENCY打印redis实例在跑命令时的耗时图表。
只记录大于等于下边设置的值的操作,0的话,就是关闭监视。
默认延迟监控功能是关闭的,如果你需要打开,也可以通过CONFIG SET命令动态设置。

0

0~86400000