缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
小安同学iter1 小时前
Redis入门(Java中操作Redis)
数据库·redis·缓存
敲上瘾3 小时前
线程池的封装(c/c++)
linux·服务器·c++·算法·缓存·池化技术
一代...5 小时前
【Redis】Redis基本命令(1)
数据库·redis·缓存
成工小白5 小时前
Redis的下载安装和使用(超详细)
数据库·redis·缓存
dl8106727316 小时前
Redis的IO多路复用
数据库·redis·缓存
Doris Liu.15 小时前
macOS取证分析——Safari浏览器、Apple Mail数据和Recents数据库
数据库·macos·缓存·sqlite·safari·电子数据取证·macos取证
kinlon.liu18 小时前
使用Redis实现分布式限流
数据库·redis·分布式·缓存
烂漫心空1 天前
Windows 系统如何使用Redis 服务
数据库·数据仓库·redis·mysql·缓存·数据库架构
江畔独步1 天前
Redis清空缓存
数据库·redis·缓存
汤姆yu1 天前
Spring 中的 @Cacheable 缓存注解
java·spring·缓存