欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Redis 中的缓存设计 - 缓存与数据库双倍写入不一致

最编程 2024-03-13 07:25:19
...

在这里插入图片描述
在这里插入图片描述

解决方案

  • 1.对于并发几率很小的数据(如个人维度的订单数据、用户数据等),这种几乎不用考虑这个问题,很少会发生缓存不一致,可以给缓存数据加上过期时间,每隔一段时间触发读的主动更新即可
  • 2.就算并发很高,如果业务上能容忍短时间内的缓存数据不一致(如商品名称,商品分类菜单等),缓存加上过期时间依然可以解决大部分业务对于缓存的要求
  • 3.如果不能容忍缓存数据不一致,可以通过加分布式读写锁保证并发读写或写写的时候按顺序排好队,读读的时候相当于无锁
  • 4.也可以阿里开源的canal通过监听数据库的binlog日志即时地去修改缓存,但是引入了新地中间件,增加了系统地复杂度
    在这里插入图片描述