缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
tanxiaomi1 小时前
Redis相关面试题
数据库·redis·缓存
optimistic_chen3 小时前
【Redis 系列】Redis详解
linux·数据库·redis·缓存·xsheel
r***11333 小时前
Redis--模糊查询--方法实例
数据库·redis·缓存
·云扬·4 小时前
Redis性能测试实战:掌握redis-benchmark工具用法与集群压测技巧
数据库·redis·缓存
2401_837088504 小时前
秒杀优化—基于 Redis 完成秒杀下单
数据库·redis·缓存
爬山算法4 小时前
Redis(144)Redis的Cluster的节点通信是如何实现的?
数据库·redis·缓存
ss27310 小时前
020:共享锁深度解析:从AQS原理到高并发实践
数据库·redis·缓存
q***465214 小时前
Win10下安装 Redis
数据库·redis·缓存
晚风吹人醒.20 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
老前端的功夫1 天前
前端浏览器缓存深度解析:从网络请求到极致性能优化
前端·javascript·网络·缓存·性能优化