(资料图片)
无论是缓存还是数据库,对同城交友源码而言都是必不可少的存在,但由于缓存和数据库中都需要存储数据,于是缓存和数据库一致性问题便被提出来了,并且还成为了一个老生常谈的话题,在同城交友源码中,该如何解决该问题呢?
如果在同城交友源码中通过启动定时任务的方式来将数据库中的数据更新到缓存中,是会引发数据不一致问题的,所以使用定时任务的方式并不可取;如果同时更新缓存和数据库中的数据,无论是先更新缓存还是先更新数据库都会存在并发引起的一致性问题。
所以“无脑”更新并不适用于同城交友源码,为了保证缓存的利用率和缓存与数据库一致性,我们可以引入删除缓存方案,那可实现的数据更新方案则可以分为两种:
第一种是先删除缓存,后更新数据库;第二种是先更新数据库,后删除缓存。无论是第一种还是第二种数据更新方案,第二步失败仍会导致数据不一致问题。
对于第一种方案,在并发场景下,如果读写同时发生,仍可能存在数据不一致的情况。但第二种读写同时发生后数据不一致情况出现的概率非常低,所以在同城交友源码中可以利用“先更新数据库,后删除缓存”的方式来保证缓存和数据库的一致性。
为避免“先更新数据库,后删除缓存”方案中第二步失败所引发的数据不一致问题,在同城交友源码开发时,可以采取两种解决措施,第一种是利用消息队列实现异步重试,第二种是订阅数据库变更日志,再操作缓存。
由于消息队列的保证可靠性和保证消息成功投递的特性,让消息队列成为了实现异步重试的关键,当然引入消息队列后会改变系统架构,从而增加系统的复杂性,所以订阅变更日志在同城交友源码开发时更受欢迎。
在同城交友源码中,要想保证缓存和数据库一致性,推荐使用“先更新数据库,再删除缓存”的方案,同时还要配合消息队列或订购变更日志使用。由于性能和一致性不能同时满足,所以为了保证系统性能,我们追求的只是最终一致性。
声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权
哈啰出行投资成立装饰工程公司 注册资本200万元
企查查APP显示,3月18日,上海钧住装饰工程有限公司成立,法定代表...中老铁路的背后 “税务专车”一路同行
2021年12月3日中老铁路正式开通运营,仅需...云南永善佛滩顺河梯级电站全面推进建设
日前,云南省永善县顺河村举行了佛滩顺河...人社部发布信用管理师国家职业技能标准
近日,人力资源和社会保障部对外发布了《...中国生态环境保护实现“十四五”起步之年良好开局
中国生态环境部7日在北京召开2022年全国...观察:中国首条民营控股高铁开通之“时”与“势”
杭台高铁首趟列车即将发车。张煜欢摄1月8...中国黄金消费市场渐回暖 “古法金”饰品获年轻消费者青睐
2022世界珠宝发展大会正在海口举行。8日在...宁吉喆:2021年中国GDP将连续第二年超百万亿元
中国国家发改委副主任兼中国国家统计局...北交所董事长徐明:北交所成立以来股票平均上涨98.9%
北京证券交易所董事长徐明8日表示,北交所...2021年北向资金流入超4300亿元 外资热情拥抱中国资产
尽管面临疫情反复等多重不利因素,外资在2...Copyright © 2015-2022 东方建筑工程网版权所有 备案号:沪ICP备2020036824号-8 联系邮箱:562 66 29@qq.com