TS.DEL
语法
TS.DEL key fromTimestamp toTimestamp
- 可用版本
- Redis Stack / TimeSeries 1.6.0
- 时间复杂度
- O(N) 其中 N 为将要删除的数据点数量
删除给定时间序列在两个时间戳之间的所有样本
必需参数
key
为时间序列的键名。
fromTimestamp
为范围删除的起始时间戳。
toTimestamp
为范围删除的结束时间戳。
给定时间戳区间为闭区间(包含),这意味着时间戳等于 fromTimestamp
或 toTimestamp
的样本也将被删除。
- 如果
fromTimestamp
比与最大现有时间戳相比的保留期更早,则删除将被丢弃,并返回错误。 - 在从定义了压缩规则的时间序列中删除样本时
- 如果受影响的压缩桶的所有原始样本都可用,则根据剩余的原始样本重新计算压缩值,或者如果压缩桶内的所有原始样本都被删除,则将其删除。
- 如果受影响的压缩桶的原始样本已过期,则删除将被丢弃,并返回错误。
- 从压缩的时间序列中显式删除样本可能会导致原始数据和压缩数据之间出现不一致。压缩过程可能会覆盖此类样本。也就是说,可以从压缩的时间序列中显式删除超过原始时间序列保留期的样本。
返回值
返回以下回复之一
- 整数回复 - 被删除的样本数量
- [] 出错时(无效参数、错误的键类型等)、当
timestamp
比与最大现有时间戳相比的保留期更早时,或当受影响的压缩桶无法重新计算时
示例
删除数据点范围
为特拉维夫和耶路撒冷的温度创建时间序列,然后添加不同的温度样本。
127.0.0.1:6379> TS.CREATE temp:TLV LABELS type temp location TLV
OK
127.0.0.1:6379> TS.CREATE temp:JLM LABELS type temp location JLM
OK
127.0.0.1:6379> TS.MADD temp:TLV 1000 30 temp:TLV 1010 35 temp:TLV 1020 9999 temp:TLV 1030 40
1) (integer) 1000
2) (integer) 1010
3) (integer) 1020
4) (integer) 1030
127.0.0.1:6379> TS.MADD temp:JLM 1005 30 temp:JLM 1015 35 temp:JLM 1025 9999 temp:JLM 1035 40
1) (integer) 1005
2) (integer) 1015
3) (integer) 1025
4) (integer) 1035
删除特拉维夫温度数据点范围。
127.0.0.1:6379> TS.DEL temp:TLV 1000 1030
(integer) 4