Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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

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
Sorting Redis-寻找数据建模建议_Sorting_Redis_Data Modeling - Fatal编程技术网

Sorting Redis-寻找数据建模建议

Sorting Redis-寻找数据建模建议,sorting,redis,data-modeling,Sorting,Redis,Data Modeling,我使用Redis来存储来自许多模拟传感器的数据日志。我的目标是根据日志时间戳对数据进行排序,并从特定的日期时间范围提取数据。我最初的数据模型是使用传感器名称作为密钥,并为每个时间戳和附加到hashkey的值设置一个哈希 所以。如果我有传感器a、传感器B和传感器C,执行a键*将返回1。传感器A,2。传感器B和3。传感器C。做hget SensorB 20110111172900会返回,比如说25 当前建模的问题是它不允许按时间戳排序,或者我认为是这样,因为我所尝试的都失败了 是否有人能够建议一个允

我使用Redis来存储来自许多模拟传感器的数据日志。我的目标是根据日志时间戳对数据进行排序,并从特定的日期时间范围提取数据。我最初的数据模型是使用传感器名称作为密钥,并为每个时间戳和附加到hashkey的值设置一个哈希

所以。如果我有传感器a、传感器B和传感器C,执行a键*将返回1。传感器A,2。传感器B和3。传感器C。做hget SensorB 20110111172900会返回,比如说25

当前建模的问题是它不允许按时间戳排序,或者我认为是这样,因为我所尝试的都失败了


是否有人能够建议一个允许对数据范围进行排序和提取的数据模型,或者建议在上面的数据模型中使用适当的排序参数。

在这种情况下,排序集可能比哈希更合适

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


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

再次以您给我的视角查看排序集,使它们成为明显的选择。-谢谢你,汤姆!不过我们发现了一个小小的警告。如果传感器多次读取相同的值(成员)(这是非常轻微的),则先前的分数(时间戳)将被覆盖。这就是为什么存储组合而不是实际值-例如zadd SensorA 20110111172900 20110111172900:25您是对的,在激励中,我们完全忽略了这些细节。我们按照您的建议实施,效果非常好。非常感谢你。