缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
難釋懷26 分钟前
实现JVM进程缓存
jvm·缓存
Arva .13 小时前
Spring 的三级缓存,两级够吗
java·spring·缓存
haixingtianxinghai15 小时前
Redis真的是单线程吗?
数据库·redis·缓存
尽兴-15 小时前
Redis7 底层数据结构解析
数据结构·数据库·缓存·redis7
深蓝电商API17 小时前
缓存策略在海淘代购系统中的应用
缓存·系统架构·跨境电商·代购系统·反向海淘·代购平台
庞轩px18 小时前
缓存Key设计的“七要七不要”
java·jvm·redis·缓存
難釋懷19 小时前
Redis分片集群手动故障转移
数据库·redis·缓存
用什么都重名1 天前
Redis 入门与实践:从基础到 Stream 消息队列
数据库·redis·缓存
常利兵1 天前
Spring Boot缓存新玩法:一键切换,租户无忧
spring boot·后端·缓存
Lyyaoo.1 天前
Spring Boot日志
spring boot·缓存·单元测试