Data structures Redis-表示层次结构
我有很多数据(大约650万行),我想用Redis来补充。基本上,我想使用排序集来存储数据的层次结构。因此,一些示例数据可能如下所示(以族谱为例) 你明白了。我的层次结构不是很深(最多8个条目?),只是很多。当我浏览条目列表时,我想将它们放入一个redis排序集中,如下所示:Data structures Redis-表示层次结构,data-structures,redis,hierarchy,Data Structures,Redis,Hierarchy,我有很多数据(大约650万行),我想用Redis来补充。基本上,我想使用排序集来存储数据的层次结构。因此,一些示例数据可能如下所示(以族谱为例) 你明白了。我的层次结构不是很深(最多8个条目?),只是很多。当我浏览条目列表时,我想将它们放入一个redis排序集中,如下所示: lpush ancestors_of.999 998 lpush ancestors_of.999 996 lpush ancestors_of.998 996 等等。问题是,这些条目在数据库中的顺序与此示例数据中的顺序不
lpush ancestors_of.999 998
lpush ancestors_of.999 996
lpush ancestors_of.998 996
等等。问题是,这些条目在数据库中的顺序与此示例数据中的顺序不同。对于每一行,我可以查看层次结构的底部、顶部或中间。那么,最好的方法是什么
以下是我考虑过的一些选择:
1) 继续上面的示例,但对于每个数据库行,搜索每个列表的现有条目,查看新行是否已经在其中(似乎效率很低)。
2) 与家长一起维护另一组他们所处的列表(似乎要加倍工作)
我确信我在这里遗漏了一些东西。“我有很多数据(大约650万行)”…不,你没有:-)你面临什么样的问题?查询时间太长?如果查询时间太长,我建议您将它们缓存一段时间。本地或在一个简单的redis散列中。特别是因为您显示的数据似乎非常静态(家长的数据不会经常更改)@Martinb-它实际上每晚都会被替换和重建。这不是家庭数据,这只是一个样本。我们经常碰到这种继承权,所以我不需要在数据库中遍历它,而是想在Redis中设计它来补充数据库信息。我只是没有在Redis上做太多的开发,在设计上需要一些帮助。@raffian-如果我每行有一美元。。。一切都取决于数据的访问方式和优化方式。
lpush ancestors_of.999 998
lpush ancestors_of.999 996
lpush ancestors_of.998 996