在redis分片上排序,联合交叉

时间:2012-12-16 11:49:02

标签: redis sharding

我是redis的新手。我需要知道如何在分片中进行排序,交集和其他聚合操作。是否可以执行此类操作?

1 个答案:

答案 0 :(得分:4)

Redis不会透明地为您处理此问题。您需要基本上从每个分片中检索结果,然后重新组合它们(假设您的搜索是除了分片键之外的其他内容)。有些库使Redis更容易进行分片(参见predis https://github.com/nrk/predis)。但是,基本上,你要做的是对所有分片运行查询,恢复结果,然后合并结果,排序,交叉,聚合等。

您可能希望密切关注Redis群集项目http://redis.io/topics/cluster-spec,因为它可能会提供您想要实现的内容而不进行分片,尽管它目前仅在开发中。

最后,您还应该知道,在添加/删除新节点时,分片不提供任何类型的冗余或设施来重新平衡分片。如果分片消失,则会丢失该分片中的所有数据。如果您使用Redis作为缓存而不是数据的最终权威存储,那么这很好。因此,请确保您也考虑每个分片的主从复制。