缓存穿透,缓存雪崩,缓存击穿
创始人
2025-05-30 10:25:23
0次

注:该文章基于黑马程序员中《黑马点评》软件的学习

视频链接
涉及视频

p40
p42
p43

缓存穿透

是指客户端请求的数据在缓存和数据库中都不存在,这样缓存永远不会生效,这些请求全部被打到数据库。

产生的原因:
1.请求的id缓存不存在
2.用户恶意请求系统不可能配置的id

常见的俩种解决方案:

1.缓存空对象
将从数据库中没有查询到的结果返回一个空给缓存,并且给缓存设置一个有效时长

优点: 实现简单,维护方便
缺点: 1.额外的内存消耗
            2.可能照成短期的不一致(当返回null时,数据库添加了id的信息,存在一个小于等于TTL时长的缓存和内存数据不一致的情况)

在这里插入图片描述
2.布隆过滤器
布隆过滤器通过hash算法将数据库的数据计算出hash值,将hash值转换成二进制数保存在布隆过滤器里,因为是二进制数,所以布隆过滤器不会产生很大的缓存消耗

优点: 内存占用较少,没有多余的key
缺点: 1.实现复杂(目前redis中可以直接调用)
            2.存在误判的可能(布隆过滤器判定不存在,数据库中肯定不存在,布隆过滤器判断存在,可能数据库中不存在)
在这里插入图片描述

其他方法:
1.增强id的复杂度,避免被猜测id规律
2.做好数据的基础格式校验

缓存雪崩

同一时间段大量的缓存key同时失效或者redis服务宕机,导致大量的请求到达数据库,带来数据库巨大的压力
在这里插入图片描述

解决方案:
1.给不同的key配置随机的TTL值,让他们不会出现同时失效的情况
2.利用redis集群提高服务的高可用性
3.给缓存业务添加降级限流策略
4.给业务添加多级缓存

缓存击穿(热点问题)

一个高并发访问并且缓存重建业务比较复杂的Key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击
在这里插入图片描述

常见的俩种解决方案:

1.互斥锁
单第一个线程缓存未命中的时候,对缓存上互斥锁,然后开始查询数据库,与此同时来查询缓存的其他线程,发型缓存未命中,也要开始开启互斥锁,但是被第一个互斥锁挡住,无法开启,于是其他线程循环查询查询缓存和尝试开始互斥锁直到第一个线程在数据库中查询到数据并且写入缓存,其他缓存才可以命中缓存(目的在于只有一个线程查询数据库,其他线程等待)
在这里插入图片描述
逻辑过期
我们在存储这个信息到缓存时不设置TTL,设置一个值(当前的时间+持续的时间)来了解他的逻辑过期时间。
当我们出现第一个线程查询缓存发现逻辑时间已经过期的时候,开启互斥锁
第一个线程开启另一个线程来完成查询数据库和写入缓存等工作,最后释放互斥锁
与此同时第一个线程返回过期的缓存数据。
其他刚来的线程发现逻辑时间过期,获取互斥锁失败,也返回过期的缓存数据
直到第一个缓存开启的另一个缓存释放锁后到来的线程可以查询到最新的缓存数据
在这里插入图片描述

互斥锁偏向数据的一致性,但是性能会有所下降
逻辑过期偏向于可用性,但是可能存在数据的不一致

在这里插入图片描述

相关内容

热门资讯

总算了解开挂!众乐乐开挂AI攻... 总算了解开挂!众乐乐开挂AI攻略,众乐乐多功能都是存在有开挂攻略1、上手简单,内置详细流程视频教学,...
程序员教你辅助!英豪娱乐城辅助... 程序员教你辅助!英豪娱乐城辅助AI工具,英豪娱乐城多功能原来真的是有辅助工具暗藏猫腻,小编详细说明英...
盘点几款辅助!冰球突破辅助AI... 盘点几款辅助!冰球突破辅助AI插件,冰球突破多功能其实真的有辅助插件1、冰球突破脚本辅助下载、冰球突...
分享一款辅助器!建湖好运麻将辅... 分享一款辅助器!建湖好运麻将辅助器AI教程,建湖好运麻将多功能竟然真的是有辅助器教程1、在建湖好运麻...
每日必备透视挂!新老夫子透视挂... 每日必备透视挂!新老夫子透视挂AI技巧,新老夫子多功能原来真的有透视挂技巧1、新老夫子脚本辅助下载、...
分享认知作弊器!星际互联作弊器... 分享认知作弊器!星际互联作弊器AI方法,星际互联多功能都是存在有作弊器方法1、每一步都需要思考,不同...
玩家必备攻略作弊器!闲逸斗地主... 玩家必备攻略作弊器!闲逸斗地主作弊器AI方法,闲逸斗地主多功能果然是有作弊器方法1、闲逸斗地主透视辅...
分辨真假透视挂!宁波游戏大厅透... 分辨真假透视挂!宁波游戏大厅透视挂AI软件,宁波游戏大厅多功能一直是有透视挂软件1、让任何用户在无需...
每日必看教程透视挂!君悦来透视... 每日必看教程透视挂!君悦来透视挂AI工具,君悦来多功能本来是有透视挂工具1、上手简单,内置详细流程视...
发现一款外挂!半岛外挂AI工具... 发现一款外挂!半岛外挂AI工具,半岛多功能一贯真的有外挂工具1、起透看视 半岛辅助软件价格2、随意选...