redis 缓存穿透,缓存击穿,缓存雪崩

一:什么是缓存

(1)计算机:cpu、内存、磁盘,cpu任何需要的数据都要从内容中读入数据放入cpu,从cup内部添加一个缓存

(2)web开发的每个阶段都可以添加缓存

(3)缓存优缺点(中小型企业数据量不大时没必要使用缓存)

二:添加缓存

缓存作用模型(先从redis查询数据,有则返回客户端,无则从redis查询,查询成功后将数据写入缓存,后返回)

2.1 实例-根据id查询商铺缓存

(1)业务逻辑

(2)代码实现

2.2 缓存更新

解决了修改redis后缓存并不知道还保留旧数据问题

(1)业务场景

(2)操作和修改数据库时需要考虑的问题

三:缓存穿透

3.1 基本概述

(1)定义

(2)解决方案

缓存空对象

布隆过滤器

(3)解决方案

3.2 代码实现

商户查询缓存添加

(1)业务逻辑

(2)代码实现

四:缓存雪崩

(1)定义

(2)产生原因

(3)解决方案

五:缓存击穿

(1)定义

(2)解决方案

互斥锁

同一时刻只有一个线程在作业其它都在等待,导致性能差劲

逻辑过期

不设置TTL

(3)两方案比较

相关推荐
neoooo1 分钟前
🍃Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·后端·架构
黄金贼贼2 分钟前
2026最新java单元测试json校验器
java·单元测试·json
菜鸟的迷茫3 分钟前
为了防雪崩加了限流,结果入口先挂了
java·后端·架构
想摆烂的不会研究的研究生4 分钟前
每日八股——Redis(2)
数据库·redis·缓存
荒诞硬汉4 分钟前
数组常见算法
java·数据结构·算法
optimistic_chen6 分钟前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
悟空码字8 分钟前
SpringBoot整合MongoDB,性能提升,优化实践
java·spring boot·后端
1***357716 分钟前
spring loC&DI 详解
java·spring·rpc
独自破碎E17 分钟前
介绍一下Spring AI框架
java·人工智能·spring
黎雁·泠崖21 分钟前
Java入门篇之吃透基础语法(一):注释+关键字+字面量全解析
java·开发语言·intellij-idea·intellij idea