TS.QUERYINDEX

语法
TS.QUERYINDEX filterExpr...
可用
Redis Stack / 时间序列 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)'

注意: 在 Redis 集群上运行时,QUERYINDEX 命令不能是事务的一部分。

返回值

返回以下回复之一

  • 数组回复,其中每个元素都是一个 块字符串回复:时间序列键。如果没有任何时间序列与过滤器匹配,则数组为空。
  • [](例如,在无效的过滤器表达式上)

示例

按位置和传感器类型查找键

创建一组传感器来测量书房和厨房的温度和湿度。

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

检索所有代表位于厨房的传感器的時間序列的键。

127.0.0.1:6379> TS.QUERYINDEX room=kitchen
1) "telemetry:kitchen:humidity"
2) "telemetry:kitchen:temperature"

要检索所有代表测量温度的传感器的時間序列的键,请使用以下查询

127.0.0.1:6379> TS.QUERYINDEX type=temperature
1) "telemetry:kitchen:temperature"
2) "telemetry:study:temperature"

另请参见

TS.CREATE | TS.MRANGE | TS.MREVRANGE | TS.MGET

RedisTimeSeries


RATE THIS PAGE
Back to top ↑