文档

查询历史热点Key

更新时间:

在Redis中,访问频率高的Key称为热点Key,如果处理不当容易引起Redis进程阻塞,影响正常服务。借助审计日志您可以查询热点Key的历史记录,帮助您回溯复盘,为进一步的优化提供数据支持。

前提条件

  • Redis实例已开通审计日志

  • RAM用户访问审计日志,需要具备日志服务的访问权限。

    • 您可以为RAM用户授予系统权限策略AliyunLogReadOnlyAccess或者AliyunLogFullAccess。授权后,RAM用户可以查看所有日志库(Logstore)。具体操作,请参见授予权限

    • 您也可以自定义权限策略,限定RAM用户只能查看Redis的审计日志。

      自定义权限策略示例

      {
       "Version": "1",
       "Statement": [
        {
              "Action": [
                "log:Get*",
                "log:List*"
              ],
         "Resource": "acs:log:*:*:project/nosql-*",
         "Effect": "Allow"
        }
       ]
      }

背景信息

TairRedis以最近最少使用算法LFU(Least Frequently Used)为基础,经过高效的排序以及统计算法识别出当前实例的热点Key。在Redis社区版7.0.18、6.0.2.9、5.5.2.9或Tair内存型5.0.50版本及以上中,查询热点Key功能将采用更直接和准确的统计算法,提供更准确的QPS。

说明

当某个Key的QPS大于5,000时会被记录为热点Key(在上述版本之前,当Key的QPS大于3,000时即会被记录为热点Key)。

本文通过审计日志查询热点Key的历史记录,如需实时显示热点Key信息,请参见实时Top Key统计

操作步骤

  1. 访问Redis实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击日志管理 > 审计日志

  3. 审计日志页面的右侧,单击时间选择,然后在弹出的对话框中选择查询的时间段,本案例选择为1周(即最近一周)。

  4. 清空关键字文本框中的默认过滤条件,输入type:7(即查询热点key信息)并按回车键确认。

  5. 审计日志详情区域框,查看历史热点Key信息。

    历史热点Key详情

    说明

    客户端IP列显示的127.0.0.1为实例的本地服务器地址,即localhost。

    执行命令列可查看热点Key的详细信息,命令中的各字段说明如下:

    字段

    示例

    说明

    dbid

    "dbid":0

    热点Key所在的数据库。

    type

    "type":"string"

    热点Key的数据结构类型。

    lfu

    "lfu":241

    热点Key的LFU值。

    说明

    在社区版7.0.18、6.0.2.9、5.5.2.9或Tair内存型5.0.50版本及以上时,该值将不再被使用,始终为0。

    qps

    "qps":"6000"

    • 在社区版7.0.18、6.0.2.9、5.5.2.9或Tair内存型5.0.50版本及以上时,该值表示热点Key的精确QPS。

    • 在上述版本之前,仅支持在热点Key的QPS小于6000时展示大致的QPS范围,例如"qps":"4500-5000",可展示的最大值为6000

    key

    "key":"key:000000000008"

    热点Key。