RedisTimeSeries TS.RANGE returns 过去的时间戳

RedisTimeSeries TS.RANGE returns timestamps in the past

我有以下 RedisTimeSeries 键:

127.0.0.1:6379> ts.info ts_raw_l:TSLA
 1) totalSamples
 2) (integer) 771
 3) memoryUsage
 4) (integer) 8416
 5) firstTimestamp
 6) (integer) 1546405200000
 7) lastTimestamp
 8) (integer) 1642741200000
 9) retentionTime
10) (integer) 0
11) chunkCount
12) (integer) 2
13) chunkSize
14) (integer) 4096
15) chunkType
16) compressed
17) duplicatePolicy
18) (nil)
19) labels
20) (empty array)
21) sourceKey
22) (nil)
23) rules
24) 1) 1) "ts_agg_y_l:TSLA"
       2) (integer) 31556952000
       3) MIN
127.0.0.1:6379>

我有一个范围查询,其中 fromTimestamptoTimestamp 代表 5 个工作日的时间段。

127.0.0.1:6379> ts.range ts_raw_l:TSLA 1641790800000 1642222799000
1) 1) (integer) 1641790800000
   2) 980
2) 1) (integer) 1641877200000
   2) 1038.82
3) 1) (integer) 1641963600000
   2) 1072.5901
4) 1) (integer) 1642050000000
   2) 1026.5391
5) 1) (integer) 1642136400000
   2) 1013.3788
127.0.0.1:6379>

我将 min 聚合过滤器应用到此范围,timeBucket 值为 5 天,alignfromTimestamp:

127.0.0.1:6379> TS.RANGE ts_raw_l:TSLA 1641790800000 1642222799000 ALIGN 1641790800000 AGGREGATION min 432000000
1) 1) (integer) 1641600000000
   2) 980
2) 1) (integer) 1642032000000
   2) 1013.3788
127.0.0.1:6379> 

我希望得到一个结果,980 并且我希望该结果的时间戳在查询中提供的 fromTimestamptoTimestamp 范围内。

为什么我会得到两个结果?而且,为什么 980 返回的时间戳早于 fromTimestamp

Redis/module 版本:

127.0.0.1:6379> MODULE LIST
1) 1) "name"
   2) "bf"
   3) "ver"
   4) (integer) 20206
2) 1) "name"
   2) "ai"
   3) "ver"
   4) (integer) 10205
3) 1) "name"
   2) "timeseries"
   3) "ver"
   4) (integer) 10410
4) 1) "name"
   2) "rg"
   3) "ver"
   4) (integer) 10008
5) 1) "name"
   2) "graph"
   3) "ver"
   4) (integer) 20411
6) 1) "name"
   2) "ReJSON"
   3) "ver"
   4) (integer) 20004
7) 1) "name"
   2) "search"
   3) "ver"
   4) (integer) 20205
127.0.0.1:6379> 

此功能在 master 和 1.6(或更高版本)版本中受支持。确保使用更新版本的 RedisTimeSeries。