*Redis TDIGEST.RESET 命令

TDIGEST.RESET 清空指定 t-digest 数据结构中的所有观测值,保留键和配置。


*语法

TDIGEST.RESET key

*参数说明

参数 类型 必填 说明
key String t-digest 键名

*返回值

  • OK:重置成功
  • Error:key 不存在或类型错误

*时间复杂度

O(1)

*

*示例

*基本用法

> TDIGEST.CREATE temp
OK
> TDIGEST.ADD temp 10 20 30 40 50
OK
> TDIGEST.INFO temp
...
13) "Observations"
14) (integer) 5
> TDIGEST.RESET temp
OK
> TDIGEST.INFO temp
13) "Observations"
14) (integer) 0
> TDIGEST.MIN temp
"-inf"

*重置后继续添加数据

> TDIGEST.CREATE metrics
OK
> TDIGEST.ADD metrics 1 2 3
OK
> TDIGEST.RESET metrics
OK
> TDIGEST.ADD metrics 4 5 6
OK
> TDIGEST.MAX metrics
"6"

*常见错误

错误 原因 解决
ERR wrong number of arguments 未提供 key 提供一个 key
ERR key does not exist key 不存在 确认 key 已创建
WRONGTYPE key 不是 t-digest 检查 key 的数据类型

*最佳实践

  • 滑动窗口统计RESET 后重新收集数据,实现固定窗口的统计分析
  • DEL + CREATE 更高效RESET 保留内部结构,避免重新分配内存
  • 周期性重置:监控场景下可按小时/天 RESET,实现分时段统计
  • 配合定时任务:结合 Redis 的 EXPIRE 或外部调度实现自动窗口切换

*FAQ

Q1: RESETDEL 有什么区别? A: RESET 清空数据但保留 key 和内部结构配置;DEL 完全删除 key,之后需要重新 CREATE。

Q2: RESET 后压缩因子会改变吗? A: 不会。RESET 只清空观测数据,压缩因子、容量等配置保持不变。

Q3: RESETINFO 显示什么? A: Observations、Merged nodes、Unmerged nodes 等数据相关字段变为 0,但 Capacity 和 Compression 保持不变。