我的编程空间,编程开发者的网络收藏夹
学习永远不晚

实现redis增量同步的的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

实现redis增量同步的的方法

这篇文章将为大家详细讲解有关实现redis增量同步的的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、增量同步的概念

增量同步就是当 master 服务器有数据更新的时候,会立刻同步到所有的 slave 服务器
当我们在 master 服务器增减数据的时候,就会触发 replicationFeedSalves()函数,接下来在 Master 服务器上调用的每一个命令都会使用replicationFeedSlaves() 函数来同步到Slave服务器。当然,在执行此函数之前master 服务器会判断用户执行的命令是否有数据更新,如果有数据更新并且slave 服务器不为空,才会执行此函数,而此函数主要的工作就是把用户执行的命令发送到所有的 slave服务器,让 slave 服务器执行,这样就可以实施同步功能了。

2、增量同步功能组成部分        

1)主服务器的复制偏移量和从服务器的复制偏移量;

主服务器每次向从服务器传播N个字节的数据时,就将自己的复制偏移量的值加N;

从服务器每次收到主服务器传播来的N个字节的数据时,就将自己的复制偏移量的值加上N。

2)主服务器的复制积压缓冲区;

由主服务器维护的一个固定长度队列,默认为1M,当主服务器进行命令传播时,它不仅会将写命令发送给所有从服务器,还会将写命令入队到复制积压缓冲区里面。

3)服务器的运行ID。

每个服务器在启动时随机生成运行ID(runid)。

3、增量同步实现

1)从服务器向主服务器发送PSYNC命令,携带主服务器的runid和复制偏移量;

2)主服务器验证runid和自身runid是否一致,如不一致,则进行全量复制;

3)主服务器验证复制偏移量是否在积压缓冲区内,如不在,则进行全量复制;

4)如都验证通过,则主服务器将保持在积压区内的偏移量后的所有数据发送给从服务器,主从服务器再次回到一致状态。

4、结论

1) 只有当从服务器的携带的主服务器runid和offset都符合,Redis才会采用增量同步的策略,存在着很大的局限性;

2) 因此从服务器重启、更换主服务器、以及断连时间过长,redis都会采用全量同步的策略。

关于实现redis增量同步的的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

实现redis增量同步的的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle增量数据同步的方法是什么

Oracle增量数据同步的方法有多种,常见的包括以下几种:使用物化视图(Materialized View):物化视图是基于查询定义的一种逻辑结构,可以将查询结果存储在物理表中。通过使用物化视图,可以在源数据库和目标数据库之间创建一个或多个
oracle增量数据同步的方法是什么
2024-04-09

kettle增量同步抽取数据的方法是什么

kettle增量同步抽取数据的方法通常是通过以下步骤实现:1. 确定增量字段:首先需要确定用于判断数据是否已经同步的增量字段。这个字段记录了每条数据的更新时间戳或者唯一标识,用于区分新数据和已同步数据。2. 抽取增量数据:使用kettle的
2023-09-20

shell脚本实现数据库表增量同步的流程

需求: 每天定时将 源数据库 study_plan 库的 zxxt_class 表 增量同步到 目标数据库 axt_statistics 库的 zxxt_class 表中 前提条件: 两个库中的 zxxt_class 表结构一致
2022-06-04

CentOS6.5环境下使用rsync增量同步备份文件的方法

本文实例讲述了CentOS6.5环境下使用rsync增量同步备份文件的方法。分享给大家供大家参考,具体如下: rsync是linux下一款文件同步工具,介绍如下: Rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文
2022-06-04

python实现MySQL指定表增量同步数据到clickhouse的脚本

python实现MySQL指定表增量同步数据到clickhouse,脚本如下:#!/usr/bin/env python3 # _*_ coding:utf8 _*_from pymysqlreplication import BinLog
2022-05-14

RiSearch PHP 高效索引更新与增量同步的技术实现

摘要:随着数据量的不断增大,传统的全量索引更新的方式已经难以满足实时搜索的需求。本文将通过讨论RiSearch PHP的使用,介绍如何实现高效的索引更新与增量同步的技术方案,以及给出相应的代码示例。一、引言在大数据时代,实时搜索已经成为许多
2023-10-21

linux 中怎么利用rsync实现文件增量同步

这篇文章给大家介绍linux 中怎么利用rsync实现文件增量同步,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、系统环境:更新源服务器:192.0.2.20目的服务器:192.0.2.21 二、目的服务器配置:1
2023-06-06

编程热搜

目录