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的可选值为yesno,分别代表开启动态hz和关闭动态hz。默认值为yes。当动态hz开启时,您设置的hz参数的值,即configured_hz,将作为基线值,而Redis服务中的实际hz值会在基线值的基础上根据已连接到Redis的客户端数量自动调整,连接的客户端越多,实际hz值越高,Redis执行定期任务的频率就越高。

在Redis管理控制台设置参数

  1. 访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中,单击参数设置
  3. 在参数列表中,单击dynamic-hz右侧操作列的修改
  4. 在弹出的对话框中完成以下步骤。
    1. 选择dynamic-hz的值。
    2. 单击确定

相关API

API接口 说明
DescribeParameters 查询Redis实例的配置参数和运行参数。
ModifyInstanceConfig 修改Redis实例的参数配置。