Redis 5.0版本新加入了dynamic-hz参数,可根据客户端连接数动态调整hz的值,从而实现Redis定期任务执行频率的自动调整。
前提条件
- 实例的引擎版本为Redis 5.0或以上。
- 实例的架构为标准版。
hz与dynamic-hz
hz参数用于指定Redis定期任务的执行频率,这些任务包括关闭超时的客户端连接、主动清除过期key等,详细介绍请参见调整Redis定期任务的执行频率。当定期任务的执行频率为一个固定值时,容易产生以下问题:
- 如果该值过小,在超时的客户端连接数较多或过期key较多等情况下,资源无法被及时整理回收,可能影响Redis服务的性能甚至导致服务崩溃。
- 如果该值过大,定期任务将会消耗过多的CPU资源,同样可能影响Redis服务的稳定性。
为了平衡Redis的CPU使用率和响应及时性,Redis 5.0版本新增了dynamic-hz参数,并分离了实际hz(hz)和已设置的hz(configured_hz)。
说明 您可以使用INFO命令查看hz和configured_hz的值。

dynamic-hz的可选值为yes
和no
,分别代表开启动态hz和关闭动态hz。默认值为yes
。当动态hz开启时,您设置的hz参数的值,即configured_hz,将作为基线值,而Redis服务中的实际hz值会在基线值的基础上根据已连接到Redis的客户端数量自动调整,连接的客户端越多,实际hz值越高,Redis执行定期任务的频率就越高。
在Redis管理控制台设置参数
- 访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
- 在左侧导航栏中,单击参数设置。
- 在参数列表中,单击dynamic-hz右侧操作列的修改。
- 在弹出的对话框中完成以下步骤。
- 选择dynamic-hz的值。
- 单击确定。
相关API
API接口 | 说明 |
---|---|
DescribeParameters | 查询Redis实例的配置参数和运行参数。 |
ModifyInstanceConfig | 修改Redis实例的参数配置。 |