TS.GET
TS.GET key [LATEST]
- Available in:
- Redis Open Source / TimeSeries 1.0.0
- Time complexity:
- O(1)
- ACL categories:
-
@timeseries,@read,@fast, - Compatibility:
- Redis Software and Redis Cloud compatibility
Get the sample with the highest timestamp from a given time series. Starting from Redis 8.6, NaN values are included in the results.
Required arguments
key
is key name for the time series.
Optional arguments
LATEST (since RedisTimeSeries v1.8)
is used when a time series is a compaction. With LATEST, TS.GET reports the compacted value of the latest (possibly partial) bucket. Without LATEST, TS.GET does not report the latest (possibly partial) bucket. When a time series is not a compaction, LATEST is ignored.
The data in the latest bucket of a compaction is possibly partial. A bucket is closed and compacted only upon arrival of a new sample that opens a new latest bucket. There are cases, however, when the compacted value of the latest (possibly partial) bucket is also required. In such a case, use LATEST.
Examples
Get latest measured temperature for a city
Create a time series to store the temperatures measured in Tel Aviv and add four measurements for Sun Jan 01 2023
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 14Next, get the latest measured temperature (the temperature with the highest timestamp)
127.0.0.1:6379> TS.GET temp:TLV
1) (integer) 1672599600
2) 14Get latest maximal daily temperature for a city
Create a time series to store the temperatures measured in Jerusalem
127.0.0.1:6379> TS.CREATE temp:JLM LABELS type temp location JLM
OKNext, create a compacted time series named dailyAvgTemp:JLM containing one compacted sample per 24 hours: the maximum of all measurements taken from midnight to next midnight.
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
OKAdd four measurements for Sun Jan 01 2023 and three measurements for Mon Jan 02 2023
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) 1672664400000Next, get the latest maximum daily temperature; do not report the latest, possibly partial, bucket
127.0.0.1:6379> TS.GET dailyMaxTemp:JLM
1) (integer) 1672531200000
2) 21Get the latest maximum daily temperature (the temperature with the highest timestamp); report the latest, possibly partial, bucket
127.0.0.1:6379> TS.GET dailyMaxTemp:JLM LATEST
1) (integer) 1672617600000
2) 26Redis Software and Redis Cloud compatibility
| Redis Software |
Redis Cloud |
Notes |
|---|---|---|
| ✅ Supported |
✅ Flexible & Annual ✅ Free & Fixed |
Return information
One of the following:
- Array reply of a single (Integer reply, Simple string reply) pair representing (timestamp, value) of the sample with the highest timestamp.
- An empty Array reply when the time series is empty.
- Simple error reply in these cases: invalid arguments, wrong key type, key does not exist, etc.