0

我有以下 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>

我有一个范围查询,fromTimestamp代表toTimestamp5 个工作日的时间段。

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 天,align它具有fromTimestamp

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/模块版本:

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> 
4

1 回答 1

1

master1.6(或更高)版本支持此功能。确保使用更新版本的 RedisTimeSeries。

于 2022-01-25T08:48:06.163 回答