在Redis中,访问频率高的Key称为热点Key,如果处理不当容易引起Redis进程阻塞,影响正常服务。借助审计日志您可以查询热点Key的历史记录,帮助您回溯复盘,为进一步的优化提供数据支持。
前提条件
背景信息
Tair与Tair以最近最少使用算法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统计。
操作步骤
访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击 。
在审计日志页面的右侧,单击时间选择,然后在弹出的对话框中选择查询的时间段,本案例选择为1周(即最近一周)。
清空关键字文本框中的默认过滤条件,输入type:7(即查询热点key信息)并按回车键确认。
在审计日志详情区域框,查看历史热点Key信息。
说明客户端IP列显示的127.0.0.1为实例的本地服务器地址,即localhost。
在执行命令列可查看热点Key的详细信息,命令中的各字段说明如下:
字段
示例
说明
dbid
"dbid":0
热点Key所在的数据库。
type
"type":"string"
热点Key的数据结构类型。
lfu
"lfu":241
热点Key的LFU值。
说明在Redis开源版7.0.18、6.0.2.9、5.5.2.9或Tair内存型5.0.50版本及以上时,该值将不再被使用,始终为0。
qps
"qps":"6000"
在Redis开源版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。