TS.QUERYINDEX
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
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 namedlabel
label=value
- the time series has a label namedlabel
with a value equal tovalue
label=(value1,value2,...)
- the time series has a label namedlabel
with a value equal to one of the values in the listlabel=
- the time series does not have a label namedlabel
label!=value
- the time series does not have a label namedlabel
with a value equal tovalue
label!=(value1,value2,...)
- the time series does not have a label namedlabel
with a value equal to any of the values in the list
- At least one filter expression with a syntax
label=value
orlabel=(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"
orx='(y y,z z)'
.
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