TS.ADD
TS.ADD key timestamp value
[RETENTION retentionPeriod]
[ENCODING [COMPRESSED|UNCOMPRESSED]]
[CHUNK_SIZE size]
[ON_DUPLICATE policy]
[LABELS {label value}...]
Append a sample to a time series
keyis key name for the time series.
timestampis (integer) UNIX sample timestamp in milliseconds or * to set the timestamp according to the server clock.
valueis (double) numeric data value of the sample. The double number should follow RFC 7159 (JSON standard). In particular, the parser rejects overly large values that do not fit in binary64. It does not accept NaN or infinite values.
When specified key does not exist, a new time series is created.
if a COMPACTION_POLICY configuration parameter is defined, compacted time series would be created as well.
If timestamp is older than the retention period compared to the maximum existing timestamp, the sample is discarded and an error is returned.
When adding a sample to a time series for which compaction rules are defined:
Explicitly adding samples to a compacted time series (using TS.ADD, TS.MADD, TS.INCRBY, or TS.DECRBY) may result in inconsistencies between the raw and the compacted data. The compaction process may override such samples.
The following arguments are optional because they can be set by TS.CREATE.
RETENTION retentionPeriodis maximum retention period, compared to the maximum existing timestamp, in milliseconds.
Use it only if you are creating a new time series. It is ignored if you are adding samples to an existing time series. See RETENTION in TS.CREATE.
ENCODING encspecifies the series sample's encoding format.
Use it only if you are creating a new time series. It is ignored if you are adding samples to an existing time series. See ENCODING in TS.CREATE.
CHUNK_SIZE sizeUse it only if you are creating a new time series. It is ignored if you are adding samples to an existing time series. See CHUNK_SIZE in TS.CREATE.
ON_DUPLICATE policyis overwrite key and database configuration for DUPLICATE_POLICY, the policy for handling samples with identical timestamps. It is used with one of the following values:
BLOCK: ignore any newly reported value and reply with an errorFIRST: ignore any newly reported valueLAST: override with the newly reported valueMIN: only override if the value is lower than the existing valueMAX: only override if the value is higher than the existing valueSUM: If a previous sample exists, add the new sample to it so that the updated value is equal to (previous + new). If no previous sample exists, set the updated value equal to the new value.LABELS {label value}...is set of label-value pairs that represent metadata labels of the time series.
Use it only if you are creating a new time series. It is ignored if you are adding samples to an existing time series. See LABELS in TS.CREATE.
RETENTION, ENCODING, CHUNK_SIZE, ON_DUPLICATE, and LABELS are optional arguments.RETENTION and LABELS introduces additional time complexity. Integer reply - the timestamp of the upserted sample, or Error reply.
If a compaction rule exits on a time series, the performance of TS.ADD can be reduced. The complexity of TS.ADD is always O(M), where M is the number of compaction rules or O(1) with no compaction.
Create a temperature time series, set its retention to 1 year, and append a sample.
127.0.0.1:6379> TS.ADD temperature:3:11 1548149183000 27 RETENTION 31536000000
(integer) 1548149183000Add a sample to the time series, setting the sample's timestamp according to the server clock.
127.0.0.1:6379> TS.ADD temperature:3:11 * 30
(integer) 1662042954573
© 2006–2022 Salvatore Sanfilippo
Licensed under the Creative Commons Attribution-ShareAlike License 4.0.
https://redis.io/commands/ts.add/