Redis集群 - 详解

一.redis主从模式:一主一从或一主多从,自带读写分离,负载均衡。

1.原理:第一次同步时,运用RDB(快照),在同步时,主服务器产生的数据,会记录偏移量,在同步完毕后,进行偏移量的同步。

2.工作机制:

①之后的同步的材料是通过AOF日志方式同步的。

②当slave启动后,主动向master发送SYNC(同步命令)。

③master接收到SYNC命令后在后台保存快照(RDB持久化)和缓存保存快照这段时间内的命令。

④继而将保存的快照资料和缓存的命令发送给slave;

⑤slave收到快照文件和命令后加载快照文档和缓存的执行命令;

⑥复制初始化后,master每次收到的写命令都会同步发送给slave,保证主从数据一致性。

3.缺点:只有从服务器能写入材料,从服务器只能读,主服务器一旦宕机,导致无法写入数据。

二.redis哨兵模式:高可用,主服务宕机,从服务变为主服务。

1.监控所有Redis服务器,重点监控主服务器,1秒ping一次主。

2.主服务器宕机,10秒后未恢复,客观下线,选举新的主服务器,根据条件(数据完整性、服务器性能)

3.通知其他从服务器,主从变更,让其他从服务器连接新的主服务。

多哨兵模式:

1.哨兵监控主从的同时,也监控其他哨兵。

2.当主宕机,哨兵中选出一个哨兵,这个哨兵再从其他从服务器中选出新的主。

三.redis集群模式(分片):将数据拆分存储到多个redis主从集群中;从而实现高扩展;

1.cluster集群优点
  • 多个redis节点网络互联,数据共享

  • 所有的节点都是一主一从(也可以是一主多从),其中从不提供服务,仅作为备用

  • 支持在线增加、删除节点

  • 客户端可以连接任何一个主节点进行读写

2. cluster集群缺点
  • 不支持同时处理多个key(如MSET/MGET),因为redis应该把key均匀分布在各个节点上,

  • 并发量很高的情况下同时创建key-value会降低性能并导致不可预测的行为

3.工作机制:

cluster可以说是sentinal和主从模式的结合体,通过cluster行实现主从和master重选功能,所以要是配置两个副本三个分片的话,就需六个Redis实例。因为Redis的数据是根据一定规则分配到cluster的不同机器的,当资料量过大时,可能新增机器进行扩容。

使用集群,只要将redis配置文件中的cluster-enable配置打开即可。每个集群中至少需要3个主数据库才能正常运行,新增节点十分方便。

posted @ 2025-09-07 13:41  wzzkaifa  阅读(17)  评论(0)    收藏  举报