redis数据结构存储库存日返回

时间:2017-08-11 13:12:51

标签: redis

我有来自市场的股票每日回报数据,并希望将它们用于redis, 当前数据格式为[stock_id,date,profit], 我的大多数操作是从间隔天搜索库存清单,例如 stock_id_list:(203,512,532),日期:来自' 20050101'到' 20151231'

如果从mysql查询数据,那就很慢了。

我希望您帮我设计一个redis数据结构来存储这些数据,并可以快速查询它们

1 个答案:

答案 0 :(得分:1)

您可以使用sortedset。使用日期作为值,并将其他人作为成员加入json。查询时,请使用zrangebyscore。在redis ZADD doc中:

  

分数值应该是双精度的字符串表示   精度浮点数。 + inf和-inf值是有效值   同样。

因此您应该将日期转换为数字,使用时间戳或日期计数形成早期时间点或将日期更改为数字E.g. 2017-08-11至20170811

有一点需要注意:分数可以重复,但成员不能排序,

  

如果指定成员已经是有序集合的成员,则更新分数并将元素重新插入正确位置以确保正确排序。

因此您应该添加一个字段,使您的股票数据唯一,例如uuid或您将其插入redis的时间戳。