[发明专利]数据库与缓存的一致性同步方法、装置、计算机设备及存储介质在审
| 申请号: | 201911327911.4 | 申请日: | 2019-12-20 |
| 公开(公告)号: | CN111078717A | 公开(公告)日: | 2020-04-28 |
| 发明(设计)人: | 潘孝;刘倍材;李柏;黄波;李如先 | 申请(专利权)人: | 深圳前海环融联易信息科技服务有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2455;G06F16/27 |
| 代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 刘萍 |
| 地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 缓存 一致性 同步 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及数据库与缓存的一致性同步方法、装置、计算机设备及存储介质,方法包括:获取数据更新请求,根据数据更新请求更新数据库数据,并触发缓存更新流程;所述缓存更新流程包括以下步骤:监听Mysql binlog,以得到二进制日志数据;解析该二进制日志数据,以得到JSON格式数据;将该JSON格式数据发送到消息中间件,消费JSON格式数据,输出消费后的JSON格式数据;获取消费后的JSON格式数据并过滤,以得到缓存数据;根据缓存数据更新缓存。本发明通过将缓存更新流程与数据更新流程独立运行,保证了数据库与缓存的一致性同步,同时避免缓存更新流程与数据更新流程耦合,保证了数据和缓存更新可靠性。
技术领域
本发明涉及数据同步领域,更具体地说是指一种数据库与缓存的一致性同步方法、装置、计算机设备及存储介质。
背景技术
在高并发场景下,业务系统需要借助redis(Remote Dictionary Server,远程字典服务)等一些缓存中间件来缓解数据库查询的压力,但是由于数据库和redis之间没有一致性协议,导致数据库和缓存经常出现数据不一致的场景。
目前常用的实现方案有三种,均由业务系统实现
1)先更新数据库后删除缓存,这种情况下如果更新数据库之后,删除缓存操作失败,则缓存中还是更新前的数据,数据不一致。
2)先删除缓存后更新数据库,这种情况下如果删除缓存和更新数据库之间有其他的线程查询了目标数据,则会把更新前的数据查出来重新塞到缓存中,数据不一致。
3)先删除缓存后更新数据库,最后再删除一遍缓存,这种情况能够规避不一致问题,但是会带来额外的消耗,因为一次数据库修改缓存被刷新了两次。
因此,有必要提出一种数据库与缓存的一致性同步方法、装置、计算机设备及存储介质。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种数据库与缓存的一致性同步方法、装置、计算机设备及存储介质。
第一方面,本发明提出一种数据库与缓存的一致性同步方法,包括:
获取数据更新请求,根据数据更新请求更新数据库数据,并触发缓存更新流程;
所述缓存更新流程包括以下步骤:
监听Mysql binlog,以得到二进制日志数据;
解析该二进制日志数据,以得到JSON格式数据;
将该JSON格式数据发送到消息中间件,消费JSON格式数据,输出消费后的JSON格式数据;
获取消费后的JSON格式数据并过滤,以得到缓存数据;
根据缓存数据更新缓存。
第二方面,本发明提出一种数据库与缓存的一致性同步装置,包括:
数据更新单元,用于获取数据更新请求,根据数据更新请求更新数据库数据,并触发缓存更新单元;
所述缓存更新单元包括日志监听子单元、日志解析子单元、数据消费子单元、数据过滤子单元以及缓存更新子单元;
所述日志监听子单元,用于监听Mysql binlog,以得到二进制日志数据;
所述日志解析子单元,用于解析该二进制日志数据,以得到JSON格式数据;
所述数据消费子单元,用于将该JSON格式数据发送到消息中间件,消费JSON格式数据,输出消费后的JSON格式数据;
所述数据过滤子单元,用于获取消费后的JSON格式数据并过滤,以得到缓存数据;
所述缓存更新子单元,用于根据缓存数据更新缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海环融联易信息科技服务有限公司,未经深圳前海环融联易信息科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911327911.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:生化综合好氧水处理系统及其处理方法
- 下一篇:一种非线性透射光处理器





