文章目录
-
-
- 一、数据同步方案
-
- 1.同步双写
- [2.异步双写(MQ方式)](#2MQhttpssocsdnnetsosearchqMQspm1001210130017020_53)
- 3.基于Mysql表定时扫描同步
- [4.基于Binlog实时同步](#4BinloghttpssocsdnnetsosearchqBinlogspm1001210130017020_119)
- [二、数据迁移同步工具选型](#httpssocsdnnetsosearchqspm1001210130017020_141)
-
前言
我们一般会使用Mysql用来存储数据,用Es来做全文检索和特殊查询,用redis来做数据的缓存
那么如何将数据优雅的从Mysql同步到Es以及redis呢?
一、数据同步方案
1.同步双写
这是一种最为简单的方式,在将数据写到mysql时,同时将数据写到ES或者redis。
这个方法的缺点是代码严重耦合,需要手动维护Mysql和Es数据关系,非常不便于维护。
![在这里插入图片描述](https://img-blog.csdnimg.cn/4955afafabe64ef4b64d05d3af83d489.png)
伪代码:
/\*\*
\* 新增商品
\*/
@Transactional(rollbackFor =