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

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. 逻辑过期(让一个线程访问数据库,其他的线程返回旧数据)
相关推荐
a里啊里啊3 小时前
Redis面试题记录
数据库·redis·缓存
杰克尼4 小时前
redis(day03-优惠券秒杀)
数据库·redis·缓存
卓怡学长4 小时前
m326数据结构课程网络学习平台的设计与实现+vue
java·spring·tomcat·maven·intellij-idea·mybatis
许杰小刀6 小时前
MyBatis-Plus实战:Spring Boot数据库操作效率提升10倍
数据库·spring boot·mybatis
认真的小羽❅7 小时前
从入门到精通:Spring Boot 整合 MyBatis 全攻略
spring boot·后端·mybatis
刘~浪地球8 小时前
数据库与缓存--MySQL 高可用架构设计
数据库·mysql·缓存
小兜全糖(xdqt)8 小时前
Ubuntu22.04安装最新版本redis
数据库·redis·缓存
神の愛11 小时前
Mybatis各个属性
数据库·oracle·mybatis
小松加哲11 小时前
MyBatis完整流程详解
java·开发语言·mybatis
大卡片11 小时前
IO缓存区
linux·运维·缓存