首页/数据/数据库速查/Cluster 分片模型(16384 槽与主从组)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条
Redis 运维与场景124 条

Cluster 分片模型(16384 槽与主从组)

集群把键空间切成 16384 个槽分配给各主节点:key -> CRC16(key) mod 16384 -> 槽 -> 节点;每个主节点带若干从节点做故障转移,最少 3 主。

数据库速查数据更新于 2026-10-12
16384槽总数;每主节点负责一部分槽
至少 3 主才能形成多数派进行故障转移
推荐3 主 3 从起,主从分布在不同机器
数据分布按槽而非按节点,键多键操作受槽限制

槽映射计算

槽映射计算
CLUSTER KEYSLOT user:1001    # 返回一个 0-16383 的数字
CLUSTER COUNTKEYSINSLOT 1234 # 该槽上的键数量
CLUSTER GETKEYSINSLOT 1234 10
槽是数据分区的单位:扩容/缩容本质是搬槽;集群模式下只有 DB 0,SELECT/SWAPDB/MOVE 不可用。

易错点

  • 2 主集群:任一台挂掉失去多数派,整个集群不可用(CLUSTERDOWN)
  • 按节点而非按槽理解数据分布:迁移/扩容时判断全错

数据来源与参考

  • Redis 官方文档: Cluster 教程
  • Redis 官方文档: CLUSTER KEYSLOT

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌