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 官方 TS.QUERYLABELS 文档;中文内容参考 Redis 文档许可。