TS.DEL
语法
TS.DEL key fromTimestamp toTimestamp
- 可用版本
- Redis 开源版 / TimeSeries 1.6.0
- 时间复杂度
- O(N),其中 N 是将被移除的数据点数量
- ACL 类别
-
@timeseries,@write,@slow,
删除给定时间序列在两个时间戳之间的所有样本
必需参数
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