TS.QUERYINDEX
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.
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