缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
万象.10 小时前
redis缓存和分布式锁
redis·分布式·缓存
白太岁11 小时前
Redis:(2) hiredis 使用、C++ 封装与连接池
c语言·c++·redis·缓存
百锦再21 小时前
HashMap、Hashtable、TreeMap异同深度详解
jvm·spring boot·struts·spring cloud·缓存·kafka·tomcat
014-code1 天前
Redis 是如何实现与数据库的一致性呢?
数据库·redis·缓存
专注VB编程开发20年1 天前
多线程,CS多台电脑redis扣款不出错方案
数据库·redis·缓存
白太岁2 天前
Redis:(4) 缓存穿透、布隆过滤器与多级缓存
数据库·redis·缓存
橘子132 天前
redis哨兵
数据库·redis·缓存
橘子132 天前
redis主从复制
数据库·redis·缓存
玩具猴_wjh2 天前
三级缓存架构
缓存·架构
王解3 天前
AI Agent记忆模块进化史:从临时缓存到认知架构的设计范式
人工智能·缓存·架构