- 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
filters time series based on their labels and label values. Each filter expression has one of the following syntaxes:
labeldoes not equal
keydoes not have label
labelequals one of the values in the list
label!=(value1,value2,...), where key with label
labeldoes not equal any of the values in the list
- At least one
label=valuefilter is required.
- Filters are conjunctive. For example, the FILTER
type=temperature room=studymeans the a time series is a temperature time series of a study room.
- Don't use whitespaces in the filter expression.
QUERYINDEX command cannot be part of transaction when running on a Redis cluster.
- 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.
- Error reply (e.g., on invalid filter expression)
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"