public interface RedisTimeSeriesCommands
| Modifier and Type | Method and Description |
|---|---|
long |
tsAdd(java.lang.String key,
double value)
TS.ADD key * value |
long |
tsAdd(java.lang.String key,
long timestamp,
double value)
TS.ADD key timestamp value |
long |
tsAdd(java.lang.String key,
long timestamp,
double value,
TSAddParams addParams)
TS.ADD key timestamp value
[RETENTION retentionTime]
[ENCODING <COMPRESSED|UNCOMPRESSED>]
[CHUNK_SIZE size]
[DUPLICATE_POLICY policy]
[ON_DUPLICATE policy_ovr]
[LABELS label value..] |
long |
tsAdd(java.lang.String key,
long timestamp,
double value,
TSCreateParams createParams)
|
java.lang.String |
tsAlter(java.lang.String key,
TSAlterParams alterParams)
TS.ALTER key [RETENTION retentionTime] [LABELS label value..] |
java.lang.String |
tsCreate(java.lang.String key)
TS.CREATE key |
java.lang.String |
tsCreate(java.lang.String key,
TSCreateParams createParams)
TS.CREATE key [RETENTION retentionTime] [ENCODING [UNCOMPRESSED|COMPRESSED]] [CHUNK_SIZE size] [DUPLICATE_POLICY policy] [LABELS label value..] |
java.lang.String |
tsCreateRule(java.lang.String sourceKey,
java.lang.String destKey,
AggregationType aggregationType,
long timeBucket)
TS.CREATERULE sourceKey destKey AGGREGATION aggregationType timeBucket |
java.lang.String |
tsCreateRule(java.lang.String sourceKey,
java.lang.String destKey,
AggregationType aggregationType,
long bucketDuration,
long alignTimestamp)
TS.CREATERULE sourceKey destKey AGGREGATION aggregationType bucketDuration [alignTimestamp] |
long |
tsDecrBy(java.lang.String key,
double value) |
long |
tsDecrBy(java.lang.String key,
double value,
long timestamp) |
long |
tsDecrBy(java.lang.String key,
double subtrahend,
TSDecrByParams decrByParams)
TS.DECRBY key subtrahend
[TIMESTAMP timestamp]
[RETENTION retentionPeriod]
[ENCODING <COMPRESSED|UNCOMPRESSED>]
[CHUNK_SIZE size]
[DUPLICATE_POLICY policy]
[IGNORE ignoreMaxTimediff ignoreMaxValDiff]
[LABELS [label value ...]] |
long |
tsDel(java.lang.String key,
long fromTimestamp,
long toTimestamp)
TS.DEL key fromTimestamp toTimestamp |
java.lang.String |
tsDeleteRule(java.lang.String sourceKey,
java.lang.String destKey)
TS.DELETERULE sourceKey destKey |
TSElement |
tsGet(java.lang.String key)
TS.GET key |
TSElement |
tsGet(java.lang.String key,
TSGetParams getParams)
TS.GET key [LATEST] |
long |
tsIncrBy(java.lang.String key,
double value) |
long |
tsIncrBy(java.lang.String key,
double value,
long timestamp) |
long |
tsIncrBy(java.lang.String key,
double addend,
TSIncrByParams incrByParams)
TS.INCRBY key addend
[TIMESTAMP timestamp]
[RETENTION retentionPeriod]
[ENCODING <COMPRESSED|UNCOMPRESSED>]
[CHUNK_SIZE size]
[DUPLICATE_POLICY policy]
[IGNORE ignoreMaxTimediff ignoreMaxValDiff]
[LABELS [label value ...]] |
TSInfo |
tsInfo(java.lang.String key) |
TSInfo |
tsInfoDebug(java.lang.String key) |
java.util.List<java.lang.Long> |
tsMAdd(java.util.Map.Entry<java.lang.String,TSElement>... entries)
TS.MADD key timestamp value [key timestamp value ...] |
java.util.Map<java.lang.String,TSMGetElement> |
tsMGet(TSMGetParams multiGetParams,
java.lang.String... filters)
{@code TS.MGET [LATEST] [ WITHLABELS | SELECTED_LABELS label...]
|
java.util.Map<java.lang.String,TSMRangeElements> |
tsMRange(long fromTimestamp,
long toTimestamp,
java.lang.String... filters)
TS.MRANGE fromTimestamp toTimestamp FILTER filter... |
java.util.Map<java.lang.String,TSMRangeElements> |
tsMRange(TSMRangeParams multiRangeParams)
{@code TS.MRANGE fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS ts...]
|
java.util.Map<java.lang.String,TSMRangeElements> |
tsMRevRange(long fromTimestamp,
long toTimestamp,
java.lang.String... filters)
TS.MREVRANGE fromTimestamp toTimestamp FILTER filter... |
java.util.Map<java.lang.String,TSMRangeElements> |
tsMRevRange(TSMRangeParams multiRangeParams)
{@code TS.MREVRANGE fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS TS...]
|
java.util.List<TSElement> |
tsNRange(java.lang.String[] keys,
long fromTimestamp,
long toTimestamp)
TS.NRANGE Command
Queries an explicit list of time series over a timestamp range and returns a timestamp-major
response in forward (increasing timestamp) order.
|
java.util.List<TSElement> |
tsNRange(java.lang.String[] keys,
TSNRangeParams nrangeParams)
TS.NRANGE Command
{@code TS.NRANGE numkeys key [key ...] fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS ts...]
|
java.util.List<TSElement> |
tsNRevRange(java.lang.String[] keys,
long fromTimestamp,
long toTimestamp)
TS.NREVRANGE Command
Reverse variant of
tsNRange(String[], long, long): identical semantics but rows are
returned in decreasing-timestamp order. |
java.util.List<TSElement> |
tsNRevRange(java.lang.String[] keys,
TSNRangeParams nrangeParams)
TS.NREVRANGE Command
Reverse variant of
tsNRange(String[], TSNRangeParams): identical semantics and options
but rows are returned in decreasing-timestamp order. |
java.util.List<java.lang.String> |
tsQueryIndex(java.lang.String... filters)
TS.QUERYINDEX filter... |
java.util.List<java.lang.String> |
tsQueryLabels(java.lang.String... filters)
TS.QUERYLABELS LABELS
Returns the set of all label names, each present on at least one time series that matches the
given filters.
|
java.util.List<java.lang.String> |
tsQueryLabelValues(java.lang.String label,
java.lang.String... filters)
TS.QUERYLABELS VALUES
Returns the set of all values assigned to
label, each assigned on at least one time
series that matches the given filters. |
java.util.List<TSElement> |
tsRange(java.lang.String key,
long fromTimestamp,
long toTimestamp)
TS.RANGE key fromTimestamp toTimestamp |
java.util.List<TSElement> |
tsRange(java.lang.String key,
TSRangeParams rangeParams)
{@code TS.RANGE key fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS ts...]
|
java.util.List<TSElement> |
tsRead(java.lang.String key,
long timestamp)
TS.READ key timestamp
Non-blocking read of up to unlimited samples with timestamp greater than or equal to the given
literal cursor, in ascending timestamp order. |
java.util.List<TSElement> |
tsRead(java.lang.String key,
TSReadParams readParams)
TS.READ key timestamp [BLOCK milliseconds min_count] [MAX_COUNT max_count]
Returns up to max_count samples with timestamp greater than or equal to the cursor, in
ascending timestamp order. |
java.util.List<TSElement> |
tsRevRange(java.lang.String key,
long fromTimestamp,
long toTimestamp)
TS.REVRANGE key fromTimestamp toTimestamp |
java.util.List<TSElement> |
tsRevRange(java.lang.String key,
TSRangeParams rangeParams)
{@code TS.REVRANGE key fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS TS...]
|
java.lang.String tsCreate(java.lang.String key)
TS.CREATE keykey - java.lang.String tsCreate(java.lang.String key,
TSCreateParams createParams)
TS.CREATE key [RETENTION retentionTime] [ENCODING [UNCOMPRESSED|COMPRESSED]] [CHUNK_SIZE size] [DUPLICATE_POLICY policy] [LABELS label value..]key - createParams - long tsDel(java.lang.String key,
long fromTimestamp,
long toTimestamp)
TS.DEL key fromTimestamp toTimestampkey - fromTimestamp - toTimestamp - java.lang.String tsAlter(java.lang.String key,
TSAlterParams alterParams)
TS.ALTER key [RETENTION retentionTime] [LABELS label value..]key - alterParams - long tsAdd(java.lang.String key,
double value)
TS.ADD key * valuekey - value - long tsAdd(java.lang.String key,
long timestamp,
double value)
TS.ADD key timestamp valuekey - timestamp - value - @Deprecated
long tsAdd(java.lang.String key,
long timestamp,
double value,
TSCreateParams createParams)
key - timestamp - value - createParams - long tsAdd(java.lang.String key,
long timestamp,
double value,
TSAddParams addParams)
TS.ADD key timestamp value
[RETENTION retentionTime]
[ENCODING <COMPRESSED|UNCOMPRESSED>]
[CHUNK_SIZE size]
[DUPLICATE_POLICY policy]
[ON_DUPLICATE policy_ovr]
[LABELS label value..]key - timestamp - value - addParams - java.util.List<java.lang.Long> tsMAdd(java.util.Map.Entry<java.lang.String,TSElement>... entries)
TS.MADD key timestamp value [key timestamp value ...]entries - key, timestamp, valuelong tsIncrBy(java.lang.String key,
double value)
long tsIncrBy(java.lang.String key,
double value,
long timestamp)
long tsIncrBy(java.lang.String key,
double addend,
TSIncrByParams incrByParams)
TS.INCRBY key addend
[TIMESTAMP timestamp]
[RETENTION retentionPeriod]
[ENCODING <COMPRESSED|UNCOMPRESSED>]
[CHUNK_SIZE size]
[DUPLICATE_POLICY policy]
[IGNORE ignoreMaxTimediff ignoreMaxValDiff]
[LABELS [label value ...]]key - addend - incrByParams - long tsDecrBy(java.lang.String key,
double value)
long tsDecrBy(java.lang.String key,
double value,
long timestamp)
long tsDecrBy(java.lang.String key,
double subtrahend,
TSDecrByParams decrByParams)
TS.DECRBY key subtrahend
[TIMESTAMP timestamp]
[RETENTION retentionPeriod]
[ENCODING <COMPRESSED|UNCOMPRESSED>]
[CHUNK_SIZE size]
[DUPLICATE_POLICY policy]
[IGNORE ignoreMaxTimediff ignoreMaxValDiff]
[LABELS [label value ...]]key - subtrahend - decrByParams - java.util.List<TSElement> tsRange(java.lang.String key, long fromTimestamp, long toTimestamp)
TS.RANGE key fromTimestamp toTimestampkey - fromTimestamp - toTimestamp - java.util.List<TSElement> tsRange(java.lang.String key, TSRangeParams rangeParams)
TS.RANGE key fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS ts...]
[FILTER_BY_VALUE min max]
[COUNT count]
[[ALIGN value] AGGREGATION aggregator bucketDuration [BUCKETTIMESTAMP bt] [EMPTY]]key - rangeParams - java.util.List<TSElement> tsRevRange(java.lang.String key, long fromTimestamp, long toTimestamp)
TS.REVRANGE key fromTimestamp toTimestampkey - fromTimestamp - toTimestamp - java.util.List<TSElement> tsRevRange(java.lang.String key, TSRangeParams rangeParams)
TS.REVRANGE key fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS TS...]
[FILTER_BY_VALUE min max]
[COUNT count]
[[ALIGN value] AGGREGATION aggregator bucketDuration [BUCKETTIMESTAMP bt] [EMPTY]]key - rangeParams - java.util.List<TSElement> tsRead(java.lang.String key, long timestamp)
TS.READ key timestamp
Non-blocking read of up to unlimited samples with timestamp greater than or equal to the given literal cursor, in ascending timestamp order. An empty list is a successful reply.
key - the time series keytimestamp - inclusive literal cursor (non-negative Unix milliseconds; 0 reads from
the beginning)>= timestampjava.util.List<TSElement> tsRead(java.lang.String key, TSReadParams readParams)
TS.READ key timestamp [BLOCK milliseconds min_count] [MAX_COUNT max_count]
Returns up to max_count samples with timestamp greater than or equal to the cursor, in
ascending timestamp order. With BLOCK the call waits until at least min_count
qualifying samples exist or until the timeout elapses; without it the call returns immediately.
An empty list is a successful reply, including when a blocking call times out.
key - the time series keyreadParams - the cursor and optional BLOCK / MAX_COUNT arguments>= the resolved cursorjava.util.List<TSElement> tsNRange(java.lang.String[] keys, long fromTimestamp, long toTimestamp)
Queries an explicit list of time series over a timestamp range and returns a timestamp-major
response in forward (increasing timestamp) order. Each returned TSElement carries one
value per key, in the order the keys were passed; a key with no sample at a row timestamp is
surfaced as NaN (indistinguishable from a stored or aggregated NaN). Key order
and duplicate keys are significant and are preserved.
All keys must map to the same hash slot in a cluster; this is treated as a single-shard, key-routed command and is not split across shards.
Time complexity: O(numkeys*(n/m+k)) where n = number of samples, m = chunk size, k = number of samples in the requested range.
keys - explicit time series keys, in output column order (duplicates allowed)fromTimestamp - inclusive range starttoTimestamp - inclusive range endjava.util.List<TSElement> tsNRange(java.lang.String[] keys, TSNRangeParams nrangeParams)
TS.NRANGE numkeys key [key ...] fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS ts...]
[FILTER_BY_VALUE min max]
[COUNT count]
[[ALIGN align] AGGREGATION aggregator [aggregator ...] bucketDuration [BUCKETTIMESTAMP bt] [EMPTY]]
In aggregation mode exactly one aggregator token is emitted per key (see
TSNRangeParams.aggregation(AggregationType[], long) and
TSNRangeParams.aggregation(AggregationType[][], long)); the server rejects a mismatch
between the number of aggregator tokens and numkeys. Missing raw samples and missing
aggregation buckets are surfaced as NaN.
keys - explicit time series keys, in output column order (duplicates allowed)nrangeParams - optional range arguments (including fromTimestamp/toTimestamp)java.util.List<TSElement> tsNRevRange(java.lang.String[] keys, long fromTimestamp, long toTimestamp)
Reverse variant of tsNRange(String[], long, long): identical semantics but rows are
returned in decreasing-timestamp order. Server-returned order is preserved as-is.
keys - explicit time series keys, in output column order (duplicates allowed)fromTimestamp - inclusive range starttoTimestamp - inclusive range endjava.util.List<TSElement> tsNRevRange(java.lang.String[] keys, TSNRangeParams nrangeParams)
Reverse variant of tsNRange(String[], TSNRangeParams): identical semantics and options
but rows are returned in decreasing-timestamp order. Server-returned order is preserved as-is.
keys - explicit time series keys, in output column order (duplicates allowed)nrangeParams - optional range arguments (including fromTimestamp/toTimestamp)java.util.Map<java.lang.String,TSMRangeElements> tsMRange(long fromTimestamp, long toTimestamp, java.lang.String... filters)
TS.MRANGE fromTimestamp toTimestamp FILTER filter...fromTimestamp - toTimestamp - filters - java.util.Map<java.lang.String,TSMRangeElements> tsMRange(TSMRangeParams multiRangeParams)
TS.MRANGE fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS ts...]
[FILTER_BY_VALUE min max]
[WITHLABELS | SELECTED_LABELS label...]
[COUNT count]
[[ALIGN value] AGGREGATION aggregator bucketDuration [BUCKETTIMESTAMP bt] [EMPTY]]
FILTER filter...
[GROUPBY label REDUCE reducer]multiRangeParams - java.util.Map<java.lang.String,TSMRangeElements> tsMRevRange(long fromTimestamp, long toTimestamp, java.lang.String... filters)
TS.MREVRANGE fromTimestamp toTimestamp FILTER filter...fromTimestamp - toTimestamp - filters - java.util.Map<java.lang.String,TSMRangeElements> tsMRevRange(TSMRangeParams multiRangeParams)
TS.MREVRANGE fromTimestamp toTimestamp
[LATEST]
[FILTER_BY_TS TS...]
[FILTER_BY_VALUE min max]
[WITHLABELS | SELECTED_LABELS label...]
[COUNT count]
[[ALIGN value] AGGREGATION aggregator bucketDuration [BUCKETTIMESTAMP bt] [EMPTY]]
FILTER filter...
[GROUPBY label REDUCE reducer]multiRangeParams - TSElement tsGet(java.lang.String key)
TS.GET keykey - the keyTSElement tsGet(java.lang.String key, TSGetParams getParams)
TS.GET key [LATEST]key - the keygetParams - optional argumentsjava.util.Map<java.lang.String,TSMGetElement> tsMGet(TSMGetParams multiGetParams, java.lang.String... filters)
TS.MGET [LATEST] [ WITHLABELS | SELECTED_LABELS label...] FILTER filter...multiGetParams - optional argumentsfilters - secondary indexesjava.lang.String tsCreateRule(java.lang.String sourceKey,
java.lang.String destKey,
AggregationType aggregationType,
long timeBucket)
TS.CREATERULE sourceKey destKey AGGREGATION aggregationType timeBucketsourceKey - destKey - aggregationType - timeBucket - java.lang.String tsCreateRule(java.lang.String sourceKey,
java.lang.String destKey,
AggregationType aggregationType,
long bucketDuration,
long alignTimestamp)
TS.CREATERULE sourceKey destKey AGGREGATION aggregationType bucketDuration [alignTimestamp]sourceKey - destKey - aggregationType - bucketDuration - alignTimestamp - java.lang.String tsDeleteRule(java.lang.String sourceKey,
java.lang.String destKey)
TS.DELETERULE sourceKey destKeysourceKey - destKey - java.util.List<java.lang.String> tsQueryIndex(java.lang.String... filters)
TS.QUERYINDEX filter...filters - java.util.List<java.lang.String> tsQueryLabels(java.lang.String... filters)
Returns the set of all label names, each present on at least one time series that matches the given filters. When no filters are supplied the label names of all indexed series are returned. The reply is a collection of unique strings with no ordering guarantee, and an empty reply is a normal successful result.
Filters use the same expression language as tsQueryIndex(String...); expressions are
passed to the server verbatim. Passing no filters (or an empty array) queries all indexed series.
Time complexity: O(n) where n is the number of time series that match the filters (all indexed series when no filter is given).
filters - optional filter expressions (e.g. type=sensor); omit to query all seriesjava.util.List<java.lang.String> tsQueryLabelValues(java.lang.String label,
java.lang.String... filters)
Returns the set of all values assigned to label, each assigned on at least one time
series that matches the given filters. Matching series that do not carry label
contribute nothing; a label that exists on no matching series yields an empty reply, not an
error. When no filters are supplied the values are collected across all indexed series. The
reply is a collection of unique strings with no ordering guarantee.
Filters use the same expression language as tsQueryIndex(String...); expressions are
passed to the server verbatim. The label name is matched byte-exactly and is not
normalized. Passing no filters (or an empty array) queries all indexed series.
Time complexity: O(n) where n is the number of time series that match the filters (all indexed series when no filter is given).
label - the label name whose values are collected (matched byte-exactly)filters - optional filter expressions (e.g. type=sensor); omit to query all serieslabel across the matching series (unordered)TSInfo tsInfo(java.lang.String key)
TSInfo tsInfoDebug(java.lang.String key)
Copyright © 2026. All rights reserved.