TS.QUERYINDEX

Syntax
TS.QUERYINDEX filterExpr...
Available in:
Redis Stack / TimeSeries 1.0.0
Time complexity:
O(n) where n is the number of time-series that match the filters

Get all time series keys matching a filter list

Examples

Required arguments

filterExpr...

filters time series based on their labels and label values. Each filter expression has one of the following syntaxes:

  • label!= - the time series has a label named label
  • label=value - the time series has a label named label with a value equal to value
  • label=(value1,value2,...) - the time series has a label named label with a value equal to one of the values in the list
  • label= - the time series does not have a label named label
  • label!=value - the time series does not have a label named label with a value equal to value
  • label!=(value1,value2,...) - the time series does not have a label named label with a value equal to any of the values in the list

Notes:

  • At least one filter expression with a syntax label=value or label=(value1,value2,...) is required.
  • Filter expressions are conjunctive. For example, the filter type=temperature room=study means that a time series is a temperature time series of a study room.
  • Whitespaces are unallowed in a filter expression except between quotes or double quotes in values - e.g., x="y y" or x='(y y,z z)'.

Note: The QUERYINDEX command cannot be part of a transaction when running on a Redis cluster.

Return value

Returns one of these replies:

  • Array reply where each element is a Bulk string reply: a time series key. The array is empty if no time series matches the filter.
  • [] (e.g., on invalid filter expression)

Examples

Find keys by location and sensor type

Create a set of sensors to measure temperature and humidity in your study and kitchen.

127.0.0.1:6379> TS.CREATE telemetry:study:temperature LABELS room study type temperature
OK
127.0.0.1:6379> TS.CREATE telemetry:study:humidity LABELS room study type humidity
OK
127.0.0.1:6379> TS.CREATE telemetry:kitchen:temperature LABELS room kitchen type temperature
OK
127.0.0.1:6379> TS.CREATE telemetry:kitchen:humidity LABELS room kitchen type humidity
OK

Retrieve keys of all time series representing sensors located in the kitchen.

127.0.0.1:6379> TS.QUERYINDEX room=kitchen
1) "telemetry:kitchen:humidity"
2) "telemetry:kitchen:temperature"

To retrieve the keys of all time series representing sensors that measure temperature, use this query:

127.0.0.1:6379> TS.QUERYINDEX type=temperature
1) "telemetry:kitchen:temperature"
2) "telemetry:study:temperature"

See also

TS.CREATE | TS.MRANGE | TS.MREVRANGE | TS.MGET

RedisTimeSeries


Rate this page