面试题:缓存穿透,缓存击穿,缓存雪崩

news2024/11/15 23:52:12

1 穿透: 两边都不存在(皇帝的新装)

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

——详述:(缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。)

解决方法:设置黑名单,(黑名单机制:在特定场景下,维护一个可能存在或不存在的数据列表,对查询请求进行过滤。【常用】)

使用布隆过滤器,(缺点:会出现误删;有一定的误判率;由于错误率影响hash函数的数量,当hash函数越多,每次插入、查询需做的hash操作就越多) 

2 穿:一个热点的key失效了,这时大量的并发请求直接到达数据库.  

 ——简介:缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。

解决方法:提前预热:缓存预热是指在系统启动或者高峰期之前,提前将数据加载到缓存中,避免在用户请求的时候,先查询数据库(这样第一个查询的人就会比较慢),再把查询结果回写到redis当中去。 

3 雪崩:大量key同时失效

——简介:缓存雪崩是指在我们设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩。

 

解决方法:避免缓存失效时间集中(错峰):常用且易于实现通过使用自动生成随机数使得key的过期时间TTL是随机的,防止集体过期。或者设置缓存标记,即热点数据可以不考虑失效,后台异步更新缓存,适用于不严格要求缓存一致性的情景。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1812919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【lesson7】服务端业务处理模块实现

文章目录 业务处理实现思路业务处理类设计成员变量成员函数RunModuleupLoadlistShowdownLoadgetETagInfo 业务处理实现思路 云备份项目中 ,业务处理模块是针对客户端的业务请求进行处理,并最终给与响应。而整个过程中包含以下要实现的功能: …

通过微软提供的工具制作win10启动盘

1.到如下链接下载微软提供的工具:MediaCreationTool_22H2.exe https://www.microsoft.com/zh-cn/software-download/windows10 2.启动该工具,选择下面选项,根据提示一步步操作即可(注意:要提前准备一个实际空间大于8…

javaWeb项目-ssm+vue学生成绩管理系统功能介绍

本项目源码:java基于SSMVUE学生成绩管理系统源码文档资料资源-CSDN文库 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SS…

Keil uVision5复制到Word文档后乱码的解决办法

一、问题出现状况 在做嵌入式实验时,我发现在Keil uVision5中正常编写的代码和注释,写入实验报告(word)中其中文注释就会产生乱码,非常不美观,并且使代码变得杂乱。 如下:Keil uVision5中注释…

最新区块链论文速读--CCF A会议 CCS 2023 共25篇 附pdf下载(4/4)

Conference:ACM Conference on Computer and Communications Security (CCS) CCF level:CCF A Categories:network and information security Year:2023 Num:25 第1~7篇区块链文章请点击此处查看 第8~13篇区块链文…

leetcode 1336 每次访问的交易次数(postgresql)

需求 表: Visits ---------------------- | Column Name | Type | ---------------------- | user_id | int | | visit_date | date | ---------------------- (user_id, visit_date) 是该表的主键 该表的每行表示 user_id 在 visit_date 访问了银行 表: Transactions ----…

用Fay搭建了数字人

文章目录 流程server端ue端 小结 流程 大概是这么一个流程,先去配置server端,然后去配置ue端代码,再接着去android端的。一步一步来,一起学习学习。 server端 去git下载开源代码,然后按照指引一步一个脚印往下走。如…

未来之城:SIGMOD 2024大会在智利圣地亚哥点燃智能革命之火

会议之眼 快讯 2024 年 ACM SIGMOD Conference(国际数据管理大会)正在于 6月9日至6月14日在智利圣地亚哥举行。它由美国计算机学会(ACM)的数据管理特别兴趣小组(SIGMOD)主办,是中国计算机学会&…

7个强大的文字转语音TTS引擎

大家好,文本到语音(TTS)技术让机器能以人声般自然地“说话”,架起了人机沟通的新桥梁。开源TTS引擎以其开放性和经济性,成为热门工具,为智能应用注入活力。 文本到语音(TTS)引擎&am…

JVM 根可达算法

Java中的垃圾 Java中"垃圾"通常指的是不再被程序使用和引用的对象,具体表现在没有被栈、JNI指针和永久代对象所引用的对象。Java作为一种面向对象的编程语言,它使用自动内存管理机制,其中垃圾收集器负责检测和回收不再被程序引用的…

python-windows10普通笔记本跑bert mrpc数据样例0.1.048

python-windows10普通笔记本跑bert mrpc数据样例0.1.000 背景参考章节获取数据下载bert模型下载bert代码windows10的cpu进行训练进行预测注意事项TODOLIST背景 看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的…

弱智吧”,人类抵御AI的最后防线

“写遗嘱的时候错过了deadline怎么办?” “怀念过去是不是在时间的长河里刻舟求剑?” “英语听力考试总是听到两个人在广播里唠嗑,怎么把那两个干扰我做题的人赶走?” 以上这些饱含哲学但好像又莫名其妙的问题,出自…

【2024算力大会分会 | SPIE独立出版 | 往届均已完成EI检索】2024云计算、性能计算与深度学习国际学术会议(CCPCDL 2024)

【2024算力大会分会 | SPIE出版】 2024云计算、性能计算与深度学习国际学术会议(CCPCDL 2024) 2024 International conference on Cloud Computing, Performance Computing and Deep Learning *CCPCDL往届均已完成EI检索,最快会后4个半月完成! 一、…

Huggingface-cli 登录最新版(2024)

安装Huggingface-cli pip install -U "huggingface_hub[cli]"设置好git的邮箱和用户名和huggingface的github账号一致 git config --global user.mail xxx git config --global user.name xxx登录 复制token,划红线的地方,在命令行中点击右…

SQL 数据库学习 Part 1

数据和信息 信息 信息是客观存在的,是关于现实世界事物的存在方式或运动状态 数据 数据是用来记录信息的可识别的符号,是信息的具体表现形式 数据和信息的联系 数据是信息的符号表示或载体信息则是数据的内涵,是对数据的语义解释 数据…

专业级中文AI文图创作:智源中英双语AltDiffusion开源

AIGC 如火如荼发展的当下,中文世界的创作者常有几大痛点: 思考英文Prompts准确表达的绞尽脑汁,翻译软件词不达意的尴尬,精细构思的 Prompts 在画面生成中找不到一丝痕迹,亦或面对文化误解中的“中国风”哭笑不得…… …

计算机操作系统基础知识:什么是虚拟机?虚拟机的分类有哪些?他们之间的区别是什么?

谈到虚拟机就必须谈谈为什么虚拟机会出现?它解决了哪些问题。 1.虚拟机出现的原因 为了解决传统虚拟机物理资源极大浪费,且希望在一台机器上运行多个应用,且他们之间不相互影响的问题。 下面开始正式介绍虚拟机: 1.虚拟机的定义…

【PX4-AutoPilot教程-TIPS】PX4加速度计陀螺仪滤波器参数设置

PX4加速度计陀螺仪滤波器参数设置 前期准备滤波前FFT图滤波后FFT图 环境: 日志分析软件 : Flight Review PX4 :1.13.0 前期准备 进行滤波器参数设置的前提是飞机简单调试过PID已经可以稳定起飞,开源飞控的很多默认参数是可以让飞机平稳起…

一款开源的图片/视频无损放大神器,本地可用!

哈喽,各位小伙伴们好,我是给大家带来各类黑科技与前沿资讯的小武。 要说无损放大图片/视频分辨率,就绕不开在github上开源的一个图像/视频恢复的实用算法——Real-ESRGAN,截止目前已斩获26.6k的Star量。 RealESRGAN-gui 软件介绍…

C++240611

2.编程题: 以下是一个简单的 比喻,将 多态概念 与 生活中 的 实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物, 如狮子、大象、猴子等。现在&#xff…