TS.MADD
TS.MADD {key timestamp value}...
- Available in:
- Redis Stack / TimeSeries 1.0.0
- Time complexity:
- O(N*M) when N is the amount of series updated and M is the amount of compaction rules or O(N) with no compaction
Append new samples to one or more time series
Required arguments
key
is the key name for the time series.
timestamp
is Unix time (integer, in milliseconds) specifying the sample timestamp or *
to set the sample timestamp to the Unix time of the server's clock.
Unix time is the number of milliseconds that have elapsed since 00:00:00 UTC on 1 January 1970, the Unix epoch, without adjustments made due to leap seconds.
value
is numeric data value of the sample (double). The double number should follow RFC 7159 (a JSON standard). The parser rejects overly large values that would not fit in binary64. It does not accept NaN or infinite values.
- If
timestamp
is older than the retention period compared to the maximum existing timestamp, the sample is discarded and an error is returned. - Explicitly adding samples to a compacted time series (using
TS.ADD
,TS.MADD
,TS.INCRBY
, orTS.DECRBY
) may result in inconsistencies between the raw and the compacted data. The compaction process may override such samples. ignoreMaxTimeDiff
andignoreMaxValDiff
cannot be specified as is the case withTS.ADD
. However, the same logic still applies based on the values of the per-key configuration parameters. See theTS.ADD
command page for more information.
Return value
Returns one of these replies:
- Array reply, where each element is an Integer reply representing the timestamp of a upserted sample or an [] (when duplication policy is
BLOCK
, or whentimestamp
is older than the retention period compared to the maximum existing timestamp). For each element that is ignored (seeIGNORE
inTS.CREATE
), the reply element value will be the largest timestamp in the time series. - [] (invalid arguments, wrong key type, etc.)
Complexity
If a compaction rule exits on a time series, TS.MADD performance might be reduced.
The complexity of TS.MADD is always O(N*M)
, where N
is the amount of series updated and M
is the number of compaction rules or O(N)
with no compaction.
Examples
Add stock prices at different timestamps
Create two stocks and add their prices at three different timestamps.
127.0.0.1:6379> TS.CREATE stock:A LABELS type stock name A
OK
127.0.0.1:6379> TS.CREATE stock:B LABELS type stock name B
OK
127.0.0.1:6379> TS.MADD stock:A 1000 100 stock:A 1010 110 stock:A 1020 120 stock:B 1000 120 stock:B 1010 110 stock:B 1020 100
1) (integer) 1000
2) (integer) 1010
3) (integer) 1020
4) (integer) 1000
5) (integer) 1010
6) (integer) 1020
See also
TS.MRANGE
| TS.RANGE
| TS.MREVRANGE
| TS.REVRANGE