*Redis TDIGEST.MIN 命令
TDIGEST.MIN 返回 t-digest 数据结构中最小观测值。
*语法
TDIGEST.MIN 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.MIN temp
"10"
*空 t-digest
> TDIGEST.CREATE empty
OK
> TDIGEST.MIN empty
"-inf"
*浮点数
> TDIGEST.CREATE scores
OK
> TDIGEST.ADD scores 1.5 2.3 3.7 4.1
OK
> TDIGEST.MIN scores
"1.5"
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR wrong number of arguments | 未提供 key | 提供一个 key |
| ERR key does not exist | key 不存在 | 确认 key 已创建并添加数据 |
| WRONGTYPE | key 不是 t-digest | 检查 key 的数据类型 |
*最佳实践
- 监控异常值:MIN 可用于发现异常小的观测值(如极小延迟可能指示缓存命中)
- 结合 MAX 使用:MIN 和 MAX 可快速获取数据范围(range = MAX - MIN)
- 注意空结构:空 t-digest 返回 -inf,业务代码需做特殊处理
- 精度说明:MIN 返回的是精确的最小值(不是近似),因为是直接记录的实际观测值
*FAQ
Q1: MIN 返回的是近似值吗? A: 不是。MIN 返回的是精确的最小观测值,不是 t-digest 的近似估计。
Q2: 空 t-digest 返回什么?
A: 返回 "-inf"(负无穷),表示无数据。
Q3: 如果只有一个值,MIN 和 MAX 相同吗? A: 是的。只有一个观测值时,MIN 和 MAX 都返回该值。