缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
syt_biancheng1 天前
Redis初识
数据库·redis·缓存
杨运交1 天前
[032][缓存模块]基于Redis Bitmap的用户行为统计实战:签到与日活分析
数据库·redis·缓存
无关86881 天前
Redis Bitmaps 用户签到系统设计方案
数据库·redis·缓存
zzz_23682 天前
【Java基础】链表的七十二变——从LRU缓存到手写浏览器前进后退
java·链表·缓存
IT策士2 天前
Redis 从入门到精通:缓存经典难题 —— 穿透、击穿、雪崩
数据库·redis·缓存
IT策士2 天前
Redis 从入门到精通:内存管理与淘汰策略
数据库·redis·缓存
AOwhisky2 天前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
MXsoft6182 天前
**断网续传与本地缓存:弱网环境下的监控数据保障方案**
运维·缓存·自动化
xingyuzhisuan2 天前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
Konwledging2 天前
Cache Incoherent(缓存不一致)
缓存