Redis集群(一):基本概念
2023-09-11 14:21:35 时间
一、使用版本:3.0.0.0
二、基本概念:
- Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。
- Redis 集群使用数据分片(sharding)而非一致性哈希(consistency hashing)来实现: 一个 Redis 集群包含 16384 个哈希槽(hash slot), 数据库中的每个键都属于这 16384 个哈希槽的其中一个, 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽, 其中CRC16(key) 语句用于计算键 key 的 CRC16 校验和
- 集群中的每个节点负责处理一部分哈希槽。 举个例子, 一个集群可以有三个哈希槽, 其中:
- 节点 A 负责处理 0 号至 5500 号哈希槽。
- 节点 B 负责处理 5501 号至 11000 号哈希槽。
- 节点 C 负责处理 11001 号至 16384 号哈希槽。
- 节点的添加和移除
- 如果用户将新节点 D 添加到集群中, 那么集群只需要将节点 A 、B 、 C 中的某些槽移动到节点 D 就可以了。
- 如果用户要从集群中移除节点 A , 那么集群只需要将节点 A 中的所有哈希槽移动到节点 B 和节点 C , 然后再移除空白(不包含任何哈希槽)的节点 A 就可以了。
- 主从节点的作用
- 假如在创建集群的时候(或者至少在节点 B 下线之前), 我们为主节点 B 添加了从节点 B1 , 那么当主节点 B 下线的时候, 集群就会将 B1 设置为新的主节点, 并让它代替下线的主节点 B , 继续处理
5501
号至11000
号的哈希槽, 这样集群就不会因为主节点 B 的下线而无法正常运作了。 - 异步复制(虽然是异步复制,但是执行写命令和复制命令到从节点几乎是同时执行,所以一般不会丢失数据)
- 客户端向主节点 B 发送一条写命令。
- 主节点 B 执行写命令,并向客户端返回命令回复。
- 主节点 B 将刚刚执行的写命令复制给它的从节点 B1 、 B2 和 B3 。
三、参考资料:
相关文章
- redis集群与分片(2)-Redis Cluster集群的搭建与实践
- redis实战笔记(6)-第6章 使用 Redis构建应用程序组件
- Redis 集群架构 (史上最全)
- 面试真题 | 什么是 Redis ? Redis缓存应用场景有哪些?
- Redis单线程单进程为什么效率那么高
- Spring Boot Cache Redis缓存
- Redis Watch 命令代替PHP的while应用示例
- Redis RDB 和 AOF 对比,恢复优先级
- 111分布式电商项目 - Redis集群(哨兵)
- Linux【IO】6. Redis响应严重延迟,如何解决?
- Redis开发运维实践数据操作之列表操作
- Redis集群技术及Codis实践
- 利用redis统计信息对CPU使用率进行收集
- Redis异常JedisConnectionException:Read timed out解决笔记
- 通过Shell和Redis来实现集群业务中日志的实时收集分析
- Redis——redis的rdb和aof持久化
- Redis主从、哨兵、 Cluster集群一锅端!
- redis使用CacheCloud搭建(Redis云平台)搭建集群监控等等
- 面试题:简述redis主从同步的过程
- Redis学习手册(Key操作命令)
- 一、Redis的下载、安装、启动(单实例)||集群
- 阿里云Redis集群子实例内存查看
- Linux Redis集群搭建与集群客户端实现
- Springboot集成Redis举例
- Redis中缓存击穿 缓存穿透 缓存雪崩解决方案
- Tomcat7集群扩展session集中管理,tomcat-redis-session-manager使用
- Redis哨兵机制以及发布订阅
- Redis(1.11)Redis4.0.11 cluster 分布式集群搭建
- 曹工说Redis源码(1)-- redis debug环境搭建,使用clion,达到和调试java一样的效果
- 真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session共享同步、反向代理等等
- redis集群部署