TS.查询索引
语法
TS.QUERYINDEX filterExpr...
- 可用:
- Redis 堆栈 / TimeSeries 1.0.0
- 时间复杂度:
- O(n),其中 n 是与筛选条件匹配的时间序列的数量
获取与筛选器列表匹配的所有时间序列键
必需参数
filterExpr...
根据时间序列的标签和标签值筛选时间序列。每个筛选条件表达式都有以下语法之一:
label!=- 时间序列具有名为labellabel=value- 时间序列具有名为label值等于valuelabel=(value1,value2,...)- 时间序列具有名为label其值等于列表中的某个值label=- 时间序列没有名为labellabel!=value- 时间序列没有名为label值等于valuelabel!=(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