【技术实现步骤摘要】
一种保证缓存与数据库数据一致的方法
本专利技术涉及数据库在高并发的系统中的数据处理
,尤其是一种保证缓存与数据库数据一致的方法。
技术介绍
在高并发的系统中关于缓存的重要性不言而喻,缓存在项目当中大量使用,扛住了大部分的查询流量,但也有很多点需要注意,最为典型的例子就是数据一致性问题,缓存击穿问题,缓存高可用问题等等。关于数据一致性的问题:缓存一致性就是说DB的数据与缓存的数据保持一致,理论上同一瞬间去变更两个值是最理想的,访问缓存跟DB是一致的。在分布式的情况下,无论如何操作,更新DB与缓存是存在间隙的。并且在结合实际情况下的多线程环境,那问题将更加复杂。更新缓存的策略:先更新DB再更新缓存,此方案线程T1更新数据库数据D1->D2,还没更新缓存,线程T2更新数据D2->D3,由于线程T2可能比较快,直接更新缓存为D2,此时运行“缓慢”的T1才更新缓存为D2。结果为DB的数据为D3,缓存的数据为D2。先更新缓存再更新DB,线程T1更新完缓存还没更新DB,线程 ...
【技术保护点】
1.一种保证缓存与数据库数据一致的方法,其特征在于,包括如下步骤:/n应用程序通过API接口将数据写入数据库;/n将对数据库的执行操作异步写入二进制日志文件binlog;/n通过从二进制日志文件binlog读取日志后更新缓存;/n应用程序通过API接口从缓存中读取数据。/n
【技术特征摘要】
1.一种保证缓存与数据库数据一致的方法,其特征在于,包括如下步骤:
应用程序通过API接口将数据写入数据库;
将对数据库的执行操作异步写入二进制日志文件binlog;
通过从二进制日志文件binlog读取日志后更新缓存;
应用程序通过API接口从缓存中读取数据。
2.根据权利要求1所述的保证缓存与数据库数据一致的方法,其特征在于,在应用程序通过API接口将数据写入数据库前先淘汰缓存。
3.根据权利要求1所述的保证缓存与数据库数据一致的方法,其特征在于,当缓存过期时建立互斥锁,在更新缓存后再释放互斥锁。
4.根据权利要求3所述的保证缓存与数据库数据一致的方法,其特征在于,通过设置一个小于缓存过期时间的超时值,使所述互斥锁提前使用。
5.根据权利要求4所述的保证缓存与数据库数据一致的方法,其特征在于,当缓存过期时通过异步线程进行缓存的构建。
6.根据权利要求1所述的保证缓存与数据库数据一致的方法,其特征在于,若对脏数据保...
【专利技术属性】
技术研发人员:施甘图,庭治宏,徐韬,
申请(专利权)人:拉货宝网络科技有限责任公司,成都市赛力培物流科技有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。