当前位置: 首页 > news >正文

Redis Cluster 分片与主从详解

一、分片(Sharding)含义

Redis 分片 = 数据分布式切分

  • 整个 Redis 数据集按照一定规则,拆分到多个独立 Redis 实例

  • 目的:

    1. 突破单机内存 / CPU / 网卡瓶颈

    2. 支撑更大并发、更大数据量

    3. 水平扩展

Redis Cluster 采用的是哈希槽分片,是官方原生分片方案。


二、哈希槽(Hash Slot)是什么

Hash Slot = 分片的最小管理单元
Redis Cluster 规定:

  • 全局统一有16384 个哈希槽(0~16383)

  • 每个 key 计算:CRC16\(key\) % 16384→ 得到一个槽号

  • 集群把槽分配给不同主节点

  • 节点负责自己槽上的所有 key

一句话:
槽 = 数据分片的载体,节点 = 槽的管理者


三、16384 个哈希槽 = 最多部署 16384 个节点吗?

绝对不是!完全两回事!
这是高频面试坑点,必须咬死:

  • 16384 是槽数量,不是节点上限

  • 一个节点可以负责多个槽

  • 槽总数固定 16384,节点数远小于 16384

Redis Cluster 官方建议主节点上限:≤ 1000 个
实际生产几乎没有超过 20 个主节点的。


四、Redis Cluster 区分主从节点吗?

严格区分!而且必须区分!

1. 主节点(Master)

  • 负责哈希槽

  • 处理读写请求

  • 参与集群选举、故障判断

2. 从节点(Slave)

  • 不负责任何槽

  • 只同步主节点数据

  • 主挂了时自动切换为主(故障转移)

  • 平时可做读负载均衡

结构:
一个主 + 若干从 = 一个分片组
整个集群由多个分片组组成。


五、生产环境 Redis Cluster 一般部署多少台?

1. 最经典、最常用:3 主 3 从(共 6 台)

  • 3 个主节点,均分 16384 个槽

  • 每个主配 1 个从

  • 满足高可用,任何一台主宕机都能自动切换

  • 适合绝大多数企业、中高并发

2. 高可用更强:3 主 6 从(共 9 台)

  • 每个主挂 2 个从

  • 适合金融、支付、核心业务

3. 超大流量:6 主 6 从 / 8 主 8 从

  • 槽更细,单节点压力更小

  • 适合高并发、大数据量(如亿级 key)

4. 绝对不推荐

  • 1 主 N 从:不是集群,是哨兵模式

  • 2 主:选举需要半数以上主节点同意,2 主容易脑裂 / 无法选举

  • 主节点数量建议:奇数(3、5、7…)


极简总结(面试背诵版)

  1. 分片:把数据切分到多实例,突破单机瓶颈。

  2. 哈希槽:Redis Cluster 分片单元,共 16384 个,key 取模落到槽。

  3. 16384≠节点上限:是槽数,节点远小于 16384,官方建议≤1000 主。

  4. Cluster 严格分主从:主负责槽、读写;从负责备份与故障切换。

  5. 生产标配3 主 3 从(6 台),奇数主节点,高可用最稳。

http://www.cnnetsun.cn/news/2039088.html

相关文章:

  • 【Blazor 2026安全白皮书】:OWASP Top 10在Razor组件中的新型攻击面及零信任加固方案(含CVE-2026-XXXX PoC)
  • 时间序列季节性分析与调整方法详解
  • Phi-3.5-mini-instruct助力C++项目:大型工程代码理解与重构建议
  • 从《愤怒的小鸟》到你的游戏:拆解Unity抛物线运动脚本的优化思路
  • K-Means聚类实战:从原理到可视化调优全解析
  • SOLAI推出Solode Neo个人AI终端:即插即用、保障隐私,399美元开启个人AI新时代
  • LeetCode热题100-在排序数组中查找元素的第一个和最后一个位置
  • Unity新手避坑指南:从Asset Store到项目,DoTween插件安装配置全流程(含ASMDEF文件生成)
  • 从MMC到UFS 3.1:扒一扒你手机里‘内存’的进化史,速度为何翻了上百倍?
  • Blazor WebAssembly冷启动优化到<180ms?揭秘微软内部未公开的.NET 9 Runtime裁剪策略与资源预加载协议(附可复用Benchmark报告)
  • Redis如何处理数据持久化与主从切换的冲突_确保选主期间的数据安全落盘
  • GAN训练稳定性与DCGAN架构最佳实践
  • 意义产权——让叙事也能被认证、被运营
  • LightGBM算法原理与工程实践指南
  • 不止是监控:用树莓派+MJPG-Streamer打造智能家居中枢,联动Home Assistant和移动通知
  • 2026年版程序员大模型转行指南:从跟风到上岸,找准赛道薪资直接起飞
  • “车桥耦合matlab程序:基于newmark法的不平顺车辆-无砟轨道-桥梁动力学求解全套代码”
  • 深度学习学习率优化:原理、实践与调参技巧
  • **基于Python语音识别的实时音频处理与情绪检测系统设计与实现**在当今人工智能飞速发展的背景下,**语音识别技术*
  • 保姆级避坑指南:在Ubuntu 20.04上搞定PX4 v1.13与XTDrone仿真环境(含ROS Noetic)
  • 从零构建大模型:推理与部署全流程实战
  • 避开这些坑!TMS320F28377D ePWM配置呼吸灯时,GPIO上拉和影子寄存器最易出错
  • 构建高性能AI聊天机器人的核心技术与实践
  • 量子计算中的ZX演算与图态编译优化技术
  • TVA技术在化工行业视觉检测的最新进展(1)
  • SMUDebugTool终极指南:解锁AMD Ryzen处理器的硬件调试与性能优化
  • 1×1卷积:深度学习模型优化的瑞士军刀
  • 深入 Vue 3 的 patch 流程:组件更新时到底发生了什么?
  • Vue如何通过WebUploader优化病历图片的多线程分片断点续传与传输加密插件?
  • 揭秘Java静态编译内存暴增之谜:从SubstrateVM GC日志到HeapSnapshot源码逐行剖析(含3个致命内存泄漏POC)