TS.查询索引
语法
TS.QUERYINDEX filterExpr...
- 可用:
- Redis 堆栈 / TimeSeries 1.0.0
- 时间复杂度:
- O(n),其中 n 是与筛选条件匹配的时间序列的数量
获取与筛选器列表匹配的所有时间序列键
必需参数
filterExpr...
根据时间序列的标签和标签值筛选时间序列。每个筛选条件表达式都有以下语法之一:
label!=
- 时间序列具有名为label
label=value
- 时间序列具有名为label
值等于value
label=(value1,value2,...)
- 时间序列具有名为label
其值等于列表中的某个值label=
- 时间序列没有名为label
label!=value
- 时间序列没有名为label
值等于value
label!=(value1,value2,...)
- 时间序列没有名为label
其值等于列表中的任何值
- 至少一个具有语法的筛选条件表达式
label=value
或label=(value1,value2,...)
是必需的。 - 筛选表达式是联合的。例如,过滤器
type=temperature room=study
表示时间序列是自习室的温度时间序列。 - 过滤器表达式中不允许使用空格,但值中的引号或双引号之间除外 - 例如,
x="y y"
或x='(y y,z z)'
.
QUERYINDEX
命令不能成为事务的一部分。
返回值
返回以下回复之一:
- 数组回复,其中每个元素都是一个 Bulk string 回复:一个时间序列键。如果没有时间序列与筛选条件匹配,则数组为空。
- [](例如,在无效的过滤器表达式上)
例子
按位置和传感器类型查找键
创建一组传感器来测量书房和厨房的温度和湿度。
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
Related topics