TS.QUERYINDEX filterExpr...
@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.
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 listlabel=
- 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 listlabel=value
or label=(value1,value2,...)
is required.type=temperature room=study
means that a time series is a temperature time series of a study room.x="y y"
or x='(y y,z z)'
.
QUERYINDEX
command cannot be part of a transaction when running on a Redis cluster.
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"
One of the following:
TS.CREATE
| TS.MRANGE
| TS.MREVRANGE
| TS.MGET