加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

MySQL 与 Redis 缓存的同步方案

发布时间:2022-12-13 13:03:02 所属栏目:MsSql教程 来源:网络
导读: 本文介绍MySQL与Redis缓存的同步的两种方案
方案1(UDF)

演示案例
下面是MySQL的表

下面是UDF的解析代码

定义对应的触发器



方案2(解析binlog)
在介绍方案2之前我们先来介绍一下My

本文介绍MySQL与Redis缓存的同步的两种方案

方案1(UDF)

mssql数据库同步_mssql数据导入mysql_酷狗音乐怎么同步乐库

演示案例

下面是MySQL的表

mssql数据导入mysql_mssql数据库同步_酷狗音乐怎么同步乐库

下面是UDF的解析代码

mssql数据导入mysql_酷狗音乐怎么同步乐库_mssql数据库同步

定义对应的触发器

酷狗音乐怎么同步乐库_mssql数据库同步_mssql数据导入mysql

酷狗音乐怎么同步乐库_mssql数据导入mysql_mssql数据库同步

方案2(解析binlog)

在介绍方案2之前我们先来介绍一下MySQL复制的原理,如下图所示:

mssql数据导入mysql_酷狗音乐怎么同步乐库_mssql数据库同步

方案2就是:

mssql数据导入mysql_酷狗音乐怎么同步乐库_mssql数据库同步

例如下面是一个云数据库实例分析:

mssql数据导入mysql_酷狗音乐怎么同步乐库_mssql数据库同步

这个技术方案的难点就在于:如何解析MySQL的Bin Log。但是这需要对binlog文件以及MySQL有非常深入的理解,同时由于binlog存在Statement/Row/Mixedlevel多种形式,分析binlog实现同步的工作量是非常大的

Canal开源技术

canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析mssql数据库同步,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)

开源参考地址有:github.com/liukelin/canal_mysql_nosql_sync

工作原理(模仿MySQL复制):

酷狗音乐怎么同步乐库_mssql数据导入mysql_mssql数据库同步

架构:

mssql数据库同步_mssql数据导入mysql_酷狗音乐怎么同步乐库

大致的解析过程如下:

mssql数据库同步_酷狗音乐怎么同步乐库_mssql数据导入mysql

更多关于Cancl可以百度搜索

下面是运行拓扑图

酷狗音乐怎么同步乐库_mssql数据库同步_mssql数据导入mysql

MySQL表的同步,采用责任链模式,每张表对应一个Filter。例如zvsync中要用到的类设计如下:

酷狗音乐怎么同步乐库_mssql数据导入mysql_mssql数据库同步

下面是具体化的zvsync中要用到的类, 每当新增或者删除表时,直接进行增删就可以了

mssql数据导入mysql_mssql数据库同步_酷狗音乐怎么同步乐库

附加

本文上面所介绍的都是从MySQL中同步到缓存中。但是在实际开发中可能有人会用下面的方案:客户端有数据来了之后,先将其保存到Redis中,然后再同步到MySQL中 这种方案本身也是不安全/不可靠的,因此如果Redis存在短暂的宕机或失效,那么会丢失数据

mssql数据库同步_mssql数据导入mysql_酷狗音乐怎么同步乐库

作者 | 江南、董少 来源 | dongshao.blog.csdn.net/article/details/107190925

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!