TS.QUERYINDEX

Syntax
TS.QUERYINDEX filterExpr...
Available in:
Redis CE / TimeSeries 1.0.0
Time complexity:
O(n) where n is the number of time-series that match the filters
ACL categories:
@timeseries, @read, @slow,

Get all time series keys matching a filter list. Note: all matching keys will be listed, whether or not the user has read access.

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
Back to top ↑