Redis存储历史数据

时间:2018-01-22 13:35:10

标签: database redis

我每天都会生成数据。 让我通过一个例子来解释一下: 在世界市场上,黄金价格以秒间隔为基础变化。我想将这个价格存储在Redis DBMS中。

 Gold 22 JAN  11.02PM X-price
      22 JAN  11.03PM Y-Price
      ...
      24 DEC  11.04PM X1-Price

Silver 22 JAN 11.02PM M-Price
       22 JAN 11.03PM N-Price

我想每天存储这些数据。想要在过去52周的数据中应用ML(Machine Leaning)。这可能吗?  因为据我所知。 redis致力于关键价值。 如果这是可能的。我可以从特定日期(7月4日)和DateRange(2月1日至3月31日)获取数据

1 个答案:

答案 0 :(得分:1)

在redis中,Sorted Set适用于时间序列数据。如果您使用价格报价的时间戳为每个条目打分,则可以使用ZRANGEBYSCORE命令快速访问一整天或一组天(如果需要分页,则可以ZSCAN。)

报价数据可以直接存储在有序集中。如果这样做,请确保每个条目都是唯一的。将记录添加到与现有记录相同的有序集中只会更新现有记录的分数(时间戳)。这会将旧记录移动到现在并将其从过去删除,这不是您想要的。

我建议仅为有序集合中的每个引用存储唯一的键/ ID,并将数据存储在其自己的键或散列字段中。这将允许您根据需要为数据创建其他索引,并在必要时更轻松地访问特定记录。