Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash Redis Timeseries数据-哈希和排序集中的数百万条记录_Hash_Redis_Spring Data Redis_Sortedset - Fatal编程技术网

Hash Redis Timeseries数据-哈希和排序集中的数百万条记录

Hash Redis Timeseries数据-哈希和排序集中的数百万条记录,hash,redis,spring-data-redis,sortedset,Hash,Redis,Spring Data Redis,Sortedset,我试图将redis用作时间序列,为了做到这一点,我使用了排序集和散列。 散列将存储我的域对象,排序集将引用它,分数作为时间。由于我获得的记录以毫秒为单位,吞吐量约为300K/秒,在redis上更快地写入记录的最佳方式是什么。在写端,我有两个问题: 保存(数据)//使用SpringDataRedis存储库将数据对象存储在哈希中 redisTemplate.opsForZSet().add(key、memberValue、data.getSourceTime());//创建哈希引用的排序集作为成员的

我试图将redis用作时间序列,为了做到这一点,我使用了排序集和散列。 散列将存储我的域对象,排序集将引用它,分数作为时间。由于我获得的记录以毫秒为单位,吞吐量约为300K/秒,在redis上更快地写入记录的最佳方式是什么。在写端,我有两个问题:

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


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

除了经典的sortedsets+哈希、Streams和RedisteSeries之外,还有两种选择

RedistemSeries-如果您的数据是数字数据(例如,温度等传感器数据),则可以将a系列存储在钥匙中,而无需进行任何额外工作。 其他功能:

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

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

两者都支持封顶和范围查询


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

您看过吗?我无法使用上述解决方案。我需要一种更好的方式来使用redis而不使用timeseries和streams。你能解释一下为什么不能使用这些选项吗?你的局限性是什么?