比较主流的有三种
主从复制
哨兵模式
分片集群
集群的定义:
单体redis的并发有限,当需求比较高的时候可以通过部署集群来实现高并发和读写分离,通常是一主多从,主节点写,从节点读。
主从复制有两种方案
全量同步的流程
1 当 从节点 第一次与主节点建立连接进行全量同步,从节点会带上自己replication id(唯一ID)和offset(偏移量,自增)
2 主节点首先会根据replication id 是否和从节点id一致来判断是不是第一次请求,如果不一样则将自己的id和offset给到从节点
3 主节点会执行bgsave(fork子进程生成rdb文件)发送给从节点,从节点会先清空所有数据,再执行,这样就保持版本信息一致了
// 在同步过程中会有新的数据写进来,此时主节点会将数据保存在一个缓存区,也就是一个日志文件中,并同步给从节点,从节点通过偏移量进行更新。后期同步也是根据该文件进行同步
增量同步
当数据服务重启后数据不一致的时候,从节点请求主节点同步数据,
主节点先判断是否为第一次请求,不是第一次请求则根据从节点的offset获取之后的数据同步给从节点。