栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库缓存一致性解决方案

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库缓存一致性解决方案

在日常开发当中为了提高响应率,减少响应时长,缓存是一定会用的。那么在修改数据库的时候缓存的更新肯定会有延迟,如何保存缓存和数据库数据的一致性是一个问题。 方案1:同步删除

顾名思义在修改数据库数据的时候,同步删除缓存

缺点:
1、不能保证每个入口都能同步删除
2、如果直接修改数据库不能同步删除
3、如果缓存删除失败,会出现脏数据

方案2: 延迟双删

删除缓存-》修改数据库-〉等待一段时间在删除一次缓存

缺点:
1、无法确定延迟时间(主从同步会出现延迟)
2、无法绝对保障数据一致

方案3: 异步监听binlog删除+重试

使用中间件监听数据库产生的binlog-》删除缓存数据(消费失败重试)

缺点:
1、相对于同步删除,脏数据窗口较大(相对来说,实际上时间是比较短的)
2、mq可能挂机(几率较小)
3、新老库迁移,可能出现数据不一致(大部分场景不会出现)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/835990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号