如何在 Redis 时间序列中对下采样键创建下采样
How to create a downsampling on downsampled key in redis timeseries
这是用例:
我有一个名为 count
的指标
我通过为 key/downsampling 规则 countPerMinute
创建规则来对其进行下采样
现在,当我尝试为 hourlyAggregation 创建另一个规则时(情况稍微复杂),redis 时间序列不允许我使用 countPerMinute
键作为另一个规则的源键来创建规则。
由于有数百万个密钥和巨大的容量,我们只为原始数据密钥设置了几个小时的保留期。
您不能创建源是另一个压缩规则目标的压缩规则。
TS.CREATE x1
TS.CREATE x2
TS.CREATE x3
TS.CREATERULE x1 x2 AGGREGATION sum 1000
TS.CREATERULE x2 x3 AGGREGATION sum 1000000 <----- error
相反,您应该直接从原始样本系列创建所有压缩规则:
TS.CREATERULE x1 x2 AGGREGATION sum 1000
TS.CREATERULE x1 x3 AGGREGATION sum 1000000
一些测试代码:
TS.ADD x1 123001 101
TS.ADD x1 123002 102
TS.ADD x1 123003 103
TS.ADD x1 200000000 2000
TS.RANGE x1 - +
TS.RANGE x2 - +
TS.RANGE x3 - +
这是用例:
我有一个名为 count
的指标
我通过为 key/downsampling 规则 countPerMinute
现在,当我尝试为 hourlyAggregation 创建另一个规则时(情况稍微复杂),redis 时间序列不允许我使用 countPerMinute
键作为另一个规则的源键来创建规则。
由于有数百万个密钥和巨大的容量,我们只为原始数据密钥设置了几个小时的保留期。
您不能创建源是另一个压缩规则目标的压缩规则。
TS.CREATE x1
TS.CREATE x2
TS.CREATE x3
TS.CREATERULE x1 x2 AGGREGATION sum 1000
TS.CREATERULE x2 x3 AGGREGATION sum 1000000 <----- error
相反,您应该直接从原始样本系列创建所有压缩规则:
TS.CREATERULE x1 x2 AGGREGATION sum 1000
TS.CREATERULE x1 x3 AGGREGATION sum 1000000
一些测试代码:
TS.ADD x1 123001 101
TS.ADD x1 123002 102
TS.ADD x1 123003 103
TS.ADD x1 200000000 2000
TS.RANGE x1 - +
TS.RANGE x2 - +
TS.RANGE x3 - +