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=valuelabel=(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

RedisTimeSeries


RATE THIS PAGE
Back to top ↑