缓存更新策略

redis的缓存更新策略:

  • 先删除缓存,在更新数据库,缺点:当线程1进行一个更新的操作,先进行缓存删除,在修改数据库,但是修改数据库之前,线程2 进行查询缓存的操作,未命中,查找数据库,写入缓存,线程1修改完成后,但是此时缓存中的数据还是旧数据,会出现数据不一致问题,只有等这个缓存过期,下次查询时,才会获取正确的信息.
  • 先操作数据库,在删除缓存,这个方法显然比上一个更优

缓存更新策略的最佳实践方案:

1,低一致性需求:使用Redis自带的内存淘汰机制

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
qq_372006862 小时前
浏览器http缓存问题
网络协议·http·缓存
计算机毕设定制辅导-无忧学长2 小时前
Redis 初相识:开启缓存世界大门
数据库·redis·缓存
爱吃南瓜的北瓜2 小时前
双重判定锁来解决缓存击穿问题
缓存
Rverdoser3 小时前
redis延迟队列
数据库·redis·缓存
weisian1513 小时前
Redis篇--常见问题篇6--缓存一致性1(Mysql和Redis缓存一致,更新数据库删除缓存策略)
数据库·redis·缓存
记得开心一点嘛4 小时前
高并发处理 --- Caffeine内存缓存库
缓存·caffeine
栗子~~15 小时前
集成 jacoco 插件,查看单元测试覆盖率
缓存·单元测试·log4j
Hello.Reader1 天前
Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案
redis·mysql·缓存
麦香--老农1 天前
windows 钉钉缓存路径不能修改 默认C盘解决方案
缓存·钉钉
C++忠实粉丝1 天前
Redis 介绍和安装
数据库·redis·缓存