Redis - 寻求数据建模建议

时间:2011-01-11 22:33:16

标签: sorting redis data-modeling

我正在使用Redis存储来自许多模拟传感器的数据日志。我的目标是根据日志时间戳对数据进行排序,并从特定的日期时间范围中提取数据。我的原始数据模型是使用传感器名称作为键,并为每个时间戳和附加到哈希键的值提供哈希值。

因此。如果我有SensorA,SensorB和SensorC,执行Keys *将返回1. SensorA,2。SensorB和3. SensorC。做hget SensorB 20110111172900会返回,比方说25。

当前建模的问题在于它不允许对时间戳进行排序,或者我认为因为我尝试过的所有内容都失败了。

是否有人能够建议一个允许排序和提取数据范围的数据模型,或建议在上面的数据模型中允许这种情况的正确排序参数。

1 个答案:

答案 0 :(得分:6)

在这种情况下,有序集合可能比散列更合适。

该值将是时间戳和传感器值的组合。分数将是时间戳。使用ZRANGEBYSCORE检索值。读取和写入都从O(1)变为O(Log(N)),但您可以返回一系列值。

您还可以使用列表来获取O(1)插入。读取将是O(N)用于检索特定条目,但获取最新条目将是O(1)。