Redis 集群中的键数量问题

2018-06-22 13:46:44 +08:00
 KeatingSmith

最近在通过文档学习 Redis,当学习到集群的的时候,有一个疑问。

Redis 集群使用数据分片( sharding )而非一致性哈希( consistency hashing )来实现: 一个 Redis 集群包含 16384 个哈希槽( hash slot ), 数据库中的每个键都属于这 16384 个哈希槽的其中一个, 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中 CRC16(key) 语句用于计算键 key 的 CRC16 校验和 。

首先,我先说说自己的理解:一个哈希槽用于保存一个键值,那么一个集群总共有 16384 个槽,也就是说,一个 Redis 集群只能保存 16384 个键嘛?这样的话,集群的存储容量不就变得很少了嘛?

2036 次点击
所在节点    问与答
4 条回复
ml3661190
2018-06-22 14:23:28 +08:00
槽只是分片规则,槽对应的机器才是存储载体
ETiV
2018-06-22 15:03:01 +08:00
三个球,放俩抽屉里

好好想想
defunct9
2018-06-22 20:25:06 +08:00
槽是槽,键是键
KeatingSmith
2018-06-22 21:36:08 +08:00
@defunct9
@ml3661190
@ETiV

谢谢,我现在明白了。谢谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465021

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX