You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RedisTimeSeries能否通过规则实现5秒时间数据分桶?

RedisTimeSeries 实现5秒自动分桶方案

当然可以!RedisTimeSeries 专门提供了 TS.CREATERULE 命令来实现自动持续的时间分桶(降采样),不用每次手动做范围查询。下面是具体的实现步骤:

1. 准备原始时间序列

先确保你已经创建了存储原始数据流的时间序列(如果还没创建):

TS.CREATE raw_data RETENTION 0  # RETENTION 0 表示永久保留,可根据业务调整

2. 创建分桶目标序列

创建一个专门用来存储5秒分桶结果的序列:

TS.CREATE bucket_5s RETENTION 0  # 同样可按需设置数据保留时间

3. 创建自动分桶规则

用 TS.CREATERULE 关联原始序列和目标序列,指定5秒的分桶窗口以及聚合逻辑:

TS.CREATERULE raw_data bucket_5s AGGREGATION avg 5000
  • AGGREGATION avg:表示每个5秒桶内的数据取平均值,你可以换成适合自己业务的聚合函数,比如 sum(求和)、count(计数)、min(最小值)、max(最大值)等
  • 5000:分桶窗口的毫秒数,对应5秒

工作原理

规则创建后,每当你往 raw_data 写入新的带时间戳数据时,RedisTimeSeries 会自动将数据归入对应的5秒时间桶,完成聚合后写入 bucket_5s。后续你直接查询 bucket_5s 就能拿到已经分好桶的结果,不用再手动做范围查询聚合。

额外提示

  • 如果需要同时保留多种聚合结果(比如既存平均值又存最大值),可以创建多个目标序列,分别为每个序列创建对应的规则
  • 可以给目标序列添加标签(用 LABELS 参数),方便后续多维度查询

内容的提问来源于stack exchange,提问作者nrao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 21:57:07