Redis集群和zsets

时间:2015-04-01 21:36:35

标签: redis

在客户端分片方法中,我可以创建分片并在该单个分片中存储zset。使用Redis集群,zset有多大?如果要成为redis中所有键的索引,如何缩放zsets。

1 个答案:

答案 0 :(得分:9)

简短回答:是的 - 您可以将所有密钥名称存储在一个排序集中。

Redis排序集最多可包含2 ^ 32 - 1(4294967295)个成员,每个成员由长达512MB的字符串和64位分数组成(数据库中密钥数量的限制相同) 。这适用于独立的Redis和Redis Cluster,并允许在单个排序集中存储~2048PB:)

在Redis群集中,每个密钥都属于特定的哈希槽。因此,无论上述理论大小限制如何,分类集只能与最大分片(即Redis服务器)一样大。虽然分片可以管理单个插槽,而插槽可以容纳一个密钥 - 由于可扩展性问题,我几乎不推荐这种方法。

索引所有密钥是一个有趣的挑战 - 你为什么这样做?更重要的是,您希望针对该索引运行哪些类型的查询?根据数据库中的密钥数量和查询要求,可能还有其他更有效的方法来实现这一目标。