缓存更新策略

redis的缓存更新策略:

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

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

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

  1. 高一致性需求:主动更新,并以超时剔除作为兜底方案
  • 读操作: 缓存命中则直接返回 缓存未命中则查询数据库,并写入缓存,设定超时时间
  • 写操作: 先写数据库,然后再删除缓存 要确保数据库与缓存操作的原子性
相关推荐
kkkkk0211061 小时前
Redis八股
数据库·redis·缓存
怪兽20144 小时前
Redis过期键的删除策略有哪些?
java·数据库·redis·缓存·面试
迎風吹頭髮12 小时前
Linux内核架构浅谈49-Linux per-CPU页面缓存:热页与冷页的管理与调度优化
linux·缓存·架构
码农多耕地呗12 小时前
力扣146.LRU缓存(哈希表缓存.映射+双向链表数据结构手搓.维护使用状况顺序)(java)
数据结构·leetcode·缓存
洲覆21 小时前
Redis 内存淘汰策略
开发语言·数据库·redis·缓存
此心光明事上练1 天前
大厂级企业后端:配置变更与缓存失效的自动化处理方案
运维·缓存·自动化
不良人天码星1 天前
redis的事务,以及watch的原理
数据库·redis·缓存
doris82041 天前
使用Yum安装Redis
数据库·redis·缓存
Boilermaker19921 天前
【Redis】哨兵与对脑裂的情况分析
数据库·redis·缓存
摇滚侠1 天前
Spring Boot 3零基础教程,WEB 开发 内容协商机制 笔记34
java·spring boot·笔记·缓存