当前位置: 首页 > news >正文

缓存穿透、击穿、雪崩

缓存穿透:

指的是恶意用户或攻击者通过请求不存在于缓存和后端存储中的数据来使得所有请求都落到后端存储上,导致系统瘫痪。

解决方案:
通常包括使用布隆过滤器或者黑白名单等方式来过滤掉无效请求,以及在应用程序中加入缓存预热等机制。

缓存击穿:

指的是在高并发访问下,某个热点数据失效后,大量请求同时涌入后端存储,导致后端存储负载增大、响应时间变慢,甚至瘫痪。

解决方案:
通常包括使用互斥锁或者分布式锁来对并发请求进行控制,避免对同一资源的并发读写竞争,另外也可以使用热点数据预加载等机制来提前将热点数据加入缓存,在其失效时快速刷新缓存。

缓存雪崩:

指的是因为某些原因导致缓存中大量的数据同时失效或过期,导致后续请求都落到后端存储上,从而引起系统负载暴增、性能下降甚至瘫痪。

解决方案:
通常包括使用分布式缓存部署、设置不同的过期时间、应用程序限流等措施来避免缓存失效时间集中在同一时间段,以及使用缓存预热和自动刷新机制等手段来减轻缓存压力。
在这里插入图片描述

http://www.lryc.cn/news/252620.html

相关文章:

  • (1w字一篇理解透Unsafe类)Java魔法类:Unsafe详解
  • Python的正则表达式使用
  • Elasticsearch:评估 RAG - 指标之旅
  • 【2023.12.4练习】数据库知识点复习测试
  • 【wvp】测试记录
  • 【若依框架实现上传文件组件】
  • 玩转大数据5:构建可扩展的大数据架构
  • 【华为数据之道学习笔记】非数字原生企业的特点
  • Kubernetes学习笔记-Part.01 Kubernets与docker
  • k8s学习
  • 测试:JMeter和LoadRunner比较
  • (C语言)通过循环按行顺序为一个矩阵赋予1,3,5,7,9,等奇数,然后输出矩阵左下角的值。
  • GitHub项目推荐-Deoldify
  • 微前端qiankun示例 Umi3.5
  • 熬夜会秃头——beta冲刺Day7
  • IntelliJ IDEA设置中文界面
  • RTSP流媒体播放器
  • 使用正则表达式时-可能会导致性能下降的情况
  • Maven生命周期
  • 深度学习(五):pytorch迁移学习之resnet50
  • 面试官:说说synchronized与ReentrantLock的区别
  • 数据结构学习笔记——广义表
  • 为什么每次optimizer.zero_grad()
  • 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么
  • iOS ------ UICollectionView
  • ElasticSearch知识体系详解
  • Linux自启服务提示:systemd[1]: *.service: main process exited, code=exited, status=1问题
  • LoadBalancer将服务暴露到外部实现负载均衡purelb-layer2模式配置介绍
  • Spring Bean的生命周期各阶段详解附源码
  • LoadBalancer将服务暴露到外部实现负载均衡Openelb-layer2模式配置介绍