*Redis TS.DELETERULE 命令
TS.DELETERULE 删除源时间序列和目标时间序列之间的聚合规则(降采样规则)。
*语法
TS.DELETERULE sourceKey destKey
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sourceKey | String | 是 | 源时间序列键名 |
| destKey | String | 是 | 目标时间序列键名 |
*返回值
- OK:规则删除成功
- Error:键不存在、规则不存在等
*时间复杂度
O(1)
*
*示例
*删除聚合规则
> TS.DELETERULE temperature:room1 temperature:room1:1min
OK
*删除多层聚合规则
> TS.DELETERULE temperature:room1 temperature:room1:5min
OK
> TS.DELETERULE temperature:room1:5min temperature:room1:hourly
OK
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| TSDB: key does not exist | 源或目标序列不存在 | 检查 key 名 |
| TSDB: rule does not exist | 聚合规则不存在 | 确认已通过 TS.CREATERULE 创建 |
*最佳实践
- 删除规则前确认目标序列是否还需保留,可用 TS.DEL 清理目标数据
- 删除规则不会自动删除目标序列的数据,已聚合的数据保留
- 修改聚合规则时,先删除旧规则再创建新规则
*FAQ
Q1: 删除规则会删除目标序列吗? A: 不会,只删除聚合规则,目标序列的数据和元数据保留。
Q2: 可以删除后再重新创建吗? A: 可以,删除后目标序列需为空才能重新创建规则(如非空需先清理)。
Q3: 如何查看现有规则? A: 用 TS.INFO sourceKey 查看 Rules 字段。