查询缓存-缓存更新-缓存穿透-缓存雪崩-缓存击穿

1.查询缓存

1.2.出现的原因

用户高并发访问带来的服务器读写的压力

1.3.解决方法

添加缓存

2.缓存更新

2.1.出现的原因

出现数据不一致的问题

2.2.解决方法

操作数据库的时候

  1. 更新数据库
  2. 删除缓存
    查询数据的时候
  3. 设置过期时间

3.缓存穿透

3.1.出现的原因

在高并发访问某个商品时,在redis和数据库中都没有命中,对数据库造成压力。

3.2.解决方法

向redis中设置空值,将并发的压力给到redis,因为他比数据库的并发能力强。

4.缓存雪崩

4.1.出现的原因

redis宕机,多个热点key失效,压力瞬间给到数据库

5.缓存击穿

5.1.出现的原因

某一个热点key失效,瞬间压力给到数据库

5.2.解决方法

  1. 互斥锁(让一个线程访问数据库,其他的线程进行等待)
  2. 逻辑过期(让一个线程访问数据库,其他的线程返回旧数据)
相关推荐
ifeng09186 小时前
HarmonyOS资源加载进阶:惰性加载、预加载与缓存机制
深度学习·缓存·harmonyos
大隐隐于野7 小时前
从零开始理解和编写LLM中的KV缓存
java·缓存·llm
华仔啊8 小时前
MyBatis-Plus 让你开发效率翻倍!新手也能5分钟上手!
java·后端·mybatis
计算机学姐9 小时前
基于SpringBoot的新闻管理系统【协同过滤推荐算法+可视化统计】
java·vue.js·spring boot·后端·spring·mybatis·推荐算法
梓沂10 小时前
MyBatis的默认对象工厂org.apache.ibatis.reflection.factory.ObjectFactory
apache·mybatis
milanyangbo11 小时前
从同步耦合到异步解耦:消息中间件如何重塑系统间的通信范式?
java·数据库·后端·缓存·中间件·架构
java1234_小锋12 小时前
MyBatis如何处理懒加载和预加载?
java·开发语言·mybatis
星光一影13 小时前
SpringBoot+Vue3无人机AI巡检系统
人工智能·spring boot·websocket·mysql·intellij-idea·mybatis·无人机
像风一样自由202013 小时前
Redis与MinIO:两大存储利器的区别与联系
数据库·redis·缓存·minio
无心水13 小时前
【中间件:Redis】4、Redis缓存实战:穿透/击穿/雪崩的5种解决方案(附代码实现)
redis·缓存·中间件·缓存穿透·缓存雪崩·分布式缓存·redis缓存问题