*Redis TDIGEST.MAX 命令

TDIGEST.MAX 返回 t-digest 数据结构中最大观测值。


*语法

TDIGEST.MAX key

*参数说明

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

*返回值

  • Double:最大观测值(字符串形式返回)
  • +inf:空 t-digest 时返回正无穷
  • Error:key 不存在或类型错误

*时间复杂度

O(1)

*

*示例

*基本用法

> TDIGEST.CREATE temp
OK
> TDIGEST.ADD temp 10 20 30 40 50
OK
> TDIGEST.MAX temp
"50"

*空 t-digest

> TDIGEST.CREATE empty
OK
> TDIGEST.MAX empty
"inf"

*浮点数

> TDIGEST.CREATE scores
OK
> TDIGEST.ADD scores 1.5 2.3 3.7 4.1
OK
> TDIGEST.MAX scores
"4.1"

*常见错误

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

*最佳实践

  • 监控异常值:MAX 可用于发现异常大的观测值(如极端延迟)
  • 结合 MIN 使用:MAX 和 MIN 可快速获取数据范围(range = MAX - MIN)
  • 注意空结构:空 t-digest 返回 +inf,业务代码需做特殊处理
  • 精度说明:MAX 返回的是精确的最大值(不是近似),因为是直接记录的实际观测值

*FAQ

Q1: MAX 返回的是近似值吗? A: 不是。MAX 返回的是精确的最大观测值,不是 t-digest 的近似估计。

Q2: 空 t-digest 返回什么? A: 返回 "inf"(正无穷),表示无数据。

Q3: 如果只有一个值,MAX 和 MIN 相同吗? A: 是的。只有一个观测值时,MAX 和 MIN 都返回该值。