命令中没有包含- +
的示例。我可能错过了一些众所周知的东西,我只是不知道/或不知道从哪里得到信息,但例如在https://redis.io/docs/stack/timeseries/quickstart/
他们有命令TS.RANGE sensor1 - + FILTER_BY_TS 1626435230501 1626443276598
但我不明白- +
是什么。有人知道吗?
发布于 2022-08-21 08:45:23
命令格式是:TS.RANGE key fromTimestamp toTimestamp
来自文档
fromTimestamp 是范围查询的启动时间戳。使用-来表示最小可能的时间戳(0)。 toTimestamp 范围查询的结束时间戳。使用+表示最大可能的时间戳。
所以在你的例子中,它的意思是不要用时间戳过滤数据。
发布于 2022-08-21 10:31:08
TS.RANGE、TS.REVRANGE、TS.MRANGE和TS.MREVRANGE是范围命令。您需要指定范围开始和结束时间戳。
不需要指定具体的值,您可以分别使用-
和+
。
RedisTimeSeries用时间序列中最早样本的时间戳替换-
,用时间序列中最新样本的时间戳替换+
。
请注意,您创建的查询
TS.RANGE sensor1 - + FILTER_BY_TS 1626435230501 1626443276598
将只报告两个特定时间戳的示例: 1626435230501和1626443276598,因为FILTER_BY_TS
用于指定一组确切的时间戳--而不是范围(要检索结果,必须有带有这些确切时间戳的样本,这些时间戳必须在fromTimestamp
内。toTimestamp
,即-
.+
(在您的案例中)。
如果要检索时间戳1626435230501和时间戳1626443276598之间的所有示例,则应使用
TS.RANGE sensor1 1626435230501 1626443276598
如果要检索时间序列中的所有样本,可以使用
TS.RANGE sensor1 - +
https://stackoverflow.com/questions/73432597
复制相似问题