TS.QUERYINDEX

语法
TS.QUERYINDEX filterExpr...
可用版本
Redis Open Source / TimeSeries 1.0.0
时间复杂度
O(n),其中 n 是匹配过滤条件的时间序列数量
ACL 类别
@timeseries, @read, @slow,

获取匹配过滤列表的所有时间序列键。注意:将列出所有匹配的键,无论用户是否具有读取访问权限。

示例

必需参数

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


评价此页
返回顶部 ↑