*Redis HOTKEYS-RESET 命令
HOTKEYS-RESET 用于重置 HotKeys 模块的统计数据,清空当前已记录的热点键访问频率信息。
*语法
HOTKEYS-RESET
*参数说明
无参数。
*返回值
- OK:统计重置成功
- Error:HotKeys 模块未加载或监控未启动时返回
*时间复杂度
O(1)
*
*示例
*重置热点键统计
> HOTKEYS-RESET
OK
*重置后查询热点键
> HOTKEYS-RESET
OK
> HOTKEYS
(empty array)
*重置后再监控
> HOTKEYS-RESET
OK
> HOTKEYS-START
OK
> GET user:1001:session
"active"
> HOTKEYS
1) "user:1001:session"
2) "1"
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR unknown command 'hotkeys-reset' | HotKeys 模块未加载 | 在 redis.conf 中加载 hotkeys.so 模块 |
| ERR HotKeys not started | 热点键监控未启动 | 先执行 HOTKEYS-START |
| 重置后返回空数组但实际有业务流量 | 重置后监控时间太短,样本不足 | 等待足够时间(建议 ≥ 5 分钟)后再查询 |
*最佳实践
- 场景:开始新的监控周期前清空旧数据,确保统计结果准确
- 建议在业务低峰期执行重置,避免丢失当前监控数据
- 大促前重置并启动新监控,获取活动期间的热点键数据
- 配合
HOTKEYS-START和HOTKEYS-STOP形成完整的监控周期 - 重置后建议等待一段时间(如 5 分钟)再查询,确保有足够样本
*FAQ
Q1: HOTKEYS-RESET 会删除 Redis 中的键吗? A: 不会,仅清空 HotKeys 模块的访问频率统计,不影响实际键值数据。
Q2: 重置后需要重新启动监控吗?
A: 如果监控已启动,重置后统计会继续;若监控已停止,需先执行 HOTKEYS-START。
Q3: 可以按时间段重置统计吗?
A: 不支持,该命令会清空全部统计数据。如需分时段统计,可通过 HOTKEYS-STOP 和 HOTKEYS-START 控制监控周期。
Q4: HOTKEYS-RESET 执行后需要等待多久再查询? A: 建议至少等待 5-10 分钟,确保有足够的数据样本。如果业务量很低,可能需要等待更长时间(如 30 分钟)。
Q5: 重置操作会被记录在 Redis 日志或慢查询日志中吗? A: 通常不会。HOTKEYS-RESET 是 O(1) 操作,执行速度快,不会触发慢查询日志。但可通过 Redis 监控工具审计命令执行历史。