Redis - 数据如何保持一致性?

Redis通过主从库模式确保数据一致性,采用读写分离,写操作仅在主库执行并同步到从库。初次同步包括三个阶段:从库发起psync,主库回应fullresync并发送数据,然后主库将replication buffer中的修改操作发送给从库。全量复制时,可通过级联方式减轻主库压力。断连后,主库使用repl_backlog_buffer进行增量复制。
摘要由CSDN通过智能技术生成

Redis如何保证服务少中断?

  • Redis通过增加副本的冗余量,也就是将一份数据同时保存在多个实例上,如果有一个实例出现了故障,其他实例也可以提供服务,不影响业务使用。

Redis 主要提供主从库模式,来保证数据副本的一致性,主从库之间采用的是读写分离的模式。

读操作 : 主库,从库都可以接收
写操作 : 首先到主库进行执行,之后通过写操作由主库同步给从库

在这里插入图片描述
主从库采用读写分离,所有数据的修改只会在主库上进行,不用协调三个实例。主库有了新的数据后,会同步给从库,这样,主从库的数据就是一致的。

主从库之间如何进行第一次同步

  • 启动多个实例后,它们通过replicaof 命令形成主库和从库之间的关系,之后按照三个阶段完成数据的第一次同步

在这里插入图片描述

  • 首先,从库给主库发送psync 命令表示要进行数据同步,主库根据这个命令的参数来启动复制。psync 包含了主库的runID 和复制进度 两个参数
  • runid 是redis 实例启动的时候随机生成的标志id ,从库和主库第一次建立连接,不知道主库的runid ,所以将runid 设置为 ?
  • 主库收到命令psync 命令后,会用fullre
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值