hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 数据库 - 正文 君子好学,自强不息!

【数据库】redis怎样完成数据同步

2019-11-21数据库搜奇网43°c
A+ A-

Redis的主从同步机制能够确保redis的master和slave之间的数据同步。

同步体式格局包含:全量复制和增量复制 (引荐进修:Redis视频教程)

全量拷贝

slave第一次启动时,衔接Master,发送PSYNC敕令,花样为psync {runId} {offset}

{runId} 为master的运转id;{offset}为slave本身的复制偏移量。
slave第一次衔接master时,slave并不晓得master的runId,也不晓得本身偏移量,这时候slave会传一个问号和-1,通知master节点是第一次同步。花样为psync ? -1

当master接收到psync ? -1时,晓得slave是要全量复制,就会将本身的runId和offset示知slave,复兴敕令fullresync {runId} {offset}。同时,master会实行bgsave敕令来生成rdb文件,时期的一切写敕令将被写入缓冲区。

slave接受到master的复兴敕令后,会保留master的runId和offset,slave此时处于同步状况。
slave处于同步状况,假如此时收到请求,当设置参数slave-server-stale-data yes时,会相应当前请求;slave-server-stale-data no,返回毛病。

master bgsave实行终了,向slave发送rdb文件。rdb文件发送终了后,最先向slave发送缓冲区中的写敕令。

slave收到rdb文件,抛弃一切旧数据,最先载入rdb文件。

rdb文件同步完毕以后,slave实行从master缓冲区发送过来的所以写敕令。

今后 master 每实行一个写敕令,就向slave发送雷同的写敕令。

增量拷贝

假如涌现收集闪断或许敕令丧失等异常情况时,当主从衔接恢复后,因为从节点之前保留了本身已复制的偏移量和主节点的运转ID。因而会把它们看成psync参数发送给主节点,请求举行部份复制操纵,花样为psync {runId} {offset}。

主节点接到psync敕令后起首查对参数runId是不是与本身一致,假如一致,申明之前复制的是当前主节点;以后依据参数offset在本身复制积存缓冲区查找,假如偏移量以后的数据存在缓冲区中,则对从节点发送+continue相应,示意能够举行部份复制;不然举行全量复制。

主节点依据偏移量把复制积存缓冲区里的数据发送给从节点,保证主从复制进入一般状况。

以上就是redis怎样完成数据同步的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【数据库】redis怎样完成数据同步

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

本文来源:搜奇网

本文地址:https://www.sou7.cn/282625.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>