缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
SPC的存折1 小时前
D在 Alpine 容器中手动搭建 Discuz 全攻略(包含镜像一键部署脚本,可直接用)
linux·数据库·mysql·缓存
一只小白0002 小时前
Redis 常用命令总结
数据库·redis·缓存
风吹迎面入袖凉3 小时前
【Redis】Redis缓存击穿
数据库·redis·缓存
zopple6 小时前
Laravel5.x核心特性全解析:从路由缓存到任务调度
缓存
真实的菜6 小时前
缓存基础概念与原理
缓存
一只大袋鼠6 小时前
MyBatis 特性(三):缓存、延迟加载、注解开发
java·数据库·笔记·sql·缓存·mybatis
晨曦夜月9 小时前
高并发内存池——单例模式在缓存的作用
缓存·单例模式
jeCA EURG10 小时前
一、安装Redis(win11环境下)
数据库·redis·缓存
AILabNotes11 小时前
016、性能与安全权衡:网关的缓存、中继与匿名化策略
安全·缓存
小江的记录本13 小时前
【分布式】分布式核心组件——分布式ID生成:雪花算法、号段模式、美团Leaf、百度UidGenerator、时钟回拨解决方案
分布式·后端·算法·缓存·性能优化·架构·系统架构