TS.QUERYLABELS

查询时间序列标签名或指定标签的取值。

语法

TS.QUERYLABELS [FILTER filterExpr [filterExpr ...]]

引入版本:8.10.0

复杂度摘要:O(n)

[!NOTE] 此命令的行为在集群 Redis 环境中有所不同。请参阅 多键操作 页面了解更多信息。

获取与过滤器列表匹配的时间序列(或未给定过滤器时的所有序列)的所有标签名称或给定标签的所有值。

示例

必需参数

LABELS | VALUES label

选择命令返回的内容:

  • LABELS - 返回匹配时间序列使用的不同标签名称集。
  • VALUES label - 返回匹配时间序列使用的 label 的不同值集。当 label 不存在或没有匹配的系列携带它时,结果为空(不是错误)。

每个名称或值最多出现一次,无论它属于多少个系列。结果的顺序未定义。

可选参数

FILTER filterExpr [filterExpr ...]

将命令限制为标签和标签值与所有过滤器表达式匹配的时间序列。当省略 FILTER 时,该命令会考虑所有索引时间序列。

示例

List labels and label values for a set of sensors

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

redis> TS.CREATE telemetry:study:temperature LABELS room study type temperature
OK
redis> TS.CREATE telemetry:study:humidity LABELS room study type humidity
OK
redis> TS.CREATE telemetry:kitchen:temperature LABELS room kitchen type temperature
OK
redis> TS.CREATE telemetry:kitchen:humidity LABELS room kitchen type humidity
OK

检索位于厨房的时间序列使用的标签名称。

redis> TS.QUERYLABELS LABELS FILTER room=kitchen
1) "room"
2) "type"

检索所有时间序列中 type 标签的不同值。

redis> TS.QUERYLABELS VALUES type
1) "humidity"
2) "temperature"

详细说明

访问控制

与 TS.QUERYINDEX 不同的是,TS.QUERYINDEX 会列出每个匹配的键,无论用户是否具有读取权限,而 TS.QUERYLABELS 会默默地忽略用户不允许读取的时间序列。仅属于不可读系列的标签名称和值不会出现在结果中。

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
❌ 标准
❌主动-主动
❌ 标准
❌主动-主动

返回值

RESP2

以下之一: * 数组回复,其中每个元素都是 批量字符串回复:标签名称(使用 LABELS)或标签值(使用 VALUES)。如果没有时间序列与过滤器匹配,则数组为空。 * 简单错误回复 在这些情况下:无效的子类型、VALUES 后缺少标签或无效的过滤器表达式。

RESP3

以下之一: * 设置回复,其中每个元素都是 批量字符串回复:标签名称(使用 LABELS)或标签值(使用 VALUES)。如果没有时间序列与过滤器匹配,则该集合为空。 * 简单错误回复 在这些情况下:无效的子类型、VALUES 后缺少标签或无效的过滤器表达式。

参见

TS.QUERYINDEX | TS.CREATE | TS.MGET | TS.MRANGE

Redis时间系列

资料来源:Redis 官方 TS.QUERYLABELS 文档;中文内容参考 Redis 文档许可。