TS.GET
Syntax
TS.GET key [LATEST]
- Available in:
- Redis Stack / TimeSeries 1.0.0
- Time complexity:
- O(1)
从给定的时间序列中获取时间戳最高的样本
必需的参数
key
是时间序列的键名。
可选参数
LATEST
(since RedisTimeSeries v1.8)
当时间序列是压缩时使用。使用LATEST
,TS.GET报告最新(可能是部分)桶的压缩值。不使用LATEST
,TS.GET不报告最新(可能是部分)桶。当时间序列不是压缩时,LATEST
被忽略。
最新压缩桶中的数据可能是部分的。只有在接收到新样本并打开一个新的最新桶时,桶才会被关闭并进行压缩。然而,在某些情况下,也需要最新(可能是部分的)桶的压缩值。在这种情况下,请使用LATEST
。
返回值
返回以下回复之一:
- Array reply 表示具有最高时间戳的样本的单个 (Integer reply, Simple string reply) 对,表示 (时间戳, 值(double))
- 一个空的 Array reply - 当时间序列为空时
- [] (无效的参数,错误的键类型,键不存在等)
示例
Get latest measured temperature for a city
创建一个时间序列来存储特拉维夫测量的温度,并为2023年1月1日星期日添加四次测量
127.0.0.1:6379> TS.CREATE temp:TLV LABELS type temp location TLV
OK
127.0.0.1:6379> TS.MADD temp:TLV 1672534800 12 temp:TLV 1672556400 16 temp:TLV 1672578000 21 temp:TLV 1672599600 14
接下来,获取最新测量的温度(时间戳最高的温度)
127.0.0.1:6379> TS.GET temp:TLV
1) (integer) 1672599600
2) 14
Get latest maximal daily temperature for a city
创建一个时间序列来存储耶路撒冷测量的温度
127.0.0.1:6379> TS.CREATE temp:JLM LABELS type temp location JLM
OK
接下来,创建一个名为dailyAvgTemp:JLM的压缩时间序列,每24小时包含一个压缩样本:从午夜到下一个午夜的所有测量值的最大值。
127.0.0.1:6379> TS.CREATE dailyMaxTemp:JLM LABELS type temp location JLM
OK
127.0.0.1:6379> TS.CREATERULE temp:JLM dailyMaxTemp:JLM AGGREGATION max 86400000
OK
为2023年1月1日星期日添加四次测量,为2023年1月2日星期一添加三次测量
127.0.0.1:6379> TS.MADD temp:JLM 1672534800000 12 temp:JLM 1672556400000 16 temp:JLM 1672578000000 21 temp:JLM 1672599600000 14
1) (integer) 1672534800000
2) (integer) 1672556400000
3) (integer) 1672578000000
4) (integer) 1672599600000
127.0.0.1:6379> TS.MADD temp:JLM 1672621200000 11 temp:JLM 1672642800000 21 temp:JLM 1672664400000 26
1) (integer) 1672621200000
2) (integer) 1672642800000
3) (integer) 1672664400000
接下来,获取最新的每日最高温度;不要报告最新的、可能不完整的桶
127.0.0.1:6379> TS.GET dailyMaxTemp:JLM
1) (integer) 1672531200000
2) 21
获取最新的每日最高温度(具有最高时间戳的温度);报告最新的,可能是部分的桶
127.0.0.1:6379> TS.GET dailyMaxTemp:JLM LATEST
1) (integer) 1672617600000
2) 26