Redis时间序列数据-哈希和排序集中的数百万条记录

问题描述 投票:0回答:1

我正在尝试将redis用作时间序列,为此,我正在使用Sorted sets和Hash。哈希将存储我的域对象,而已排序的集合将以分数作为时间引用它。当我在millisec中获取记录并具有大约300K / sec的吞吐量时,在Redis上更快地写入数据的最佳方法是什么。从写的角度来看,我有两个以下查询:

repository.save(data); //使用spring数据redis的存储库将数据对象存储在哈希中redisTemplate.opsForZSet()。add(key,memberValue,data.getSourceTime()); //创建用于哈希引用的排序集作为时间戳作为成员。

我正在寻找一种更快的方式来存储这些数据。

hash redis spring-data-redis sortedset
1个回答
0
投票

除了经典的sortedsets +哈希之外,还有两个选项:Streams和RedisTimeSeries。

RedisTimeSeries-如果数据是数字(例如温度等传感器数据),则可以将序列存储在键中,而无需进行任何其他工作。附加功能:

  • 内置压缩功能以节省空间
  • 自动下采样
  • 通过多个键的标签查询

https://github.com/RedisTimeSeries/RedisTimeSeries/

Streams-如果您有非数字事件流,并且您不关心任何基于数字的优化[对于同一字段输入存在某些压缩]。

均支持上限和范围查询。

https://github.com/RedisTimeSeries/RedisTimeSeries/

披露:我在redislabs中启动了RedisTimeSeries项目。

© www.soinside.com 2019 - 2024. All rights reserved.