当前位置:首页 > 财经

雪崩击穿 原来缓存也会雪崩、击穿、穿透啊

在互联网时代,大流量、海量数据、高并发是每个企业都渴望和害怕的术语。欲望是因为它们代表了用户提供的服务是愿意付费的、有价值的;恐惧是因为一旦所有用户都上来了,系统就无法正常为用户提供服务,让用户失望,最后选择离开。仅仅靠服务器资源的超高配置还是很难支持高并发的场景。所以我们需要缓存。

缓存在计算机世界中无处不在。CPU有一级二级三级缓存,TLB以Linux操作心态加速虚拟地址和物理地址的转换,redis数据库以应用服务缓存数据,浏览器或应用有本地缓存。可以说缓存很重要。有了它,整个世界似乎都变好了。刷网页的时候很快就能把数据拿回来,不用一直等。

让我们举一个简单的例子来看看什么是缓存。我们知道数据存储在数据库中,数据库数据通常存储在磁盘上。当用户从前端请求时,直接访问磁盘的数据库数据会非常慢。如果有缓存,在用户请求到达后,业务线程将首先访问缓存。如果缓存命中,会直接返回给用户。如果没有命中,会继续请求磁盘数据库数据,获取后返回给用户。同时,磁盘获得的数据将被写回缓存系统,为下一次请求做准备。

但是这么强大的缓存系统,其实有很多问题,就是缓存雪崩、缓存击穿、缓存穿透。但是不要害怕。有问题就有解决办法。让我们慢慢往下看。

所谓缓存雪崩,就是大量缓存的数据同时失效,所有请求都命中数据库,导致数据库在巨大的压力下挂掉。比如双十一期间,用户会开淘宝买东西。有的人确实需要买东西,有的人只是凑热闹。反正这个时候首页压力很大。为了满足所有用户对数据的访问,阿里程序员将主页数据缓存在redis中,并将redis的到期时间设置为12小时。我们知道redis是内存数据库,所以访问速度非常快。数据缓存后,用户买的很开心,程序员也很开心,系统依然完好...12个小时慢慢过去了,用户购物的热情并没有减弱,但是大量的用户请求却来了。然而,主页redis中缓存的数据已经完全失效。此时redis中没有数据,用户请求直接扑向数据库。数据库怎么承受得住直接崩溃?

为了应对缓存雪崩,我们也有一些措施,比如随机设置密钥的到期时间,避免大量密钥同时失效,比如不设置到期时间或者设置到期时间过长,或者运行定时任务,随时监控缓存,在到期前刷新新的缓存。

所谓缓存穿透,就是数据没有缓存在缓存中,导致请求直接到达数据库,数据库挂在很大的压力下。比如双十一期间,一个黑客发现网站上没有混沌炸鸡的产品(假设产品ID为-1),于是写了一个脚本大量请求这个产品。redis缓存我只有炸鸡产品,不满足需求,他就放数据库里,所有的请求都放数据库里。数据库说我也没有,但是不断的轮询,结果直接崩溃了。

我们也有一些措施来处理缓存渗透。比如redis时将一些不存在的数据缓存设置为null,比如检查请求参数,非法直接拦截,比如增加安全保护,定期扫描,发现异常数据直接将请求的IP地址加入黑名单。

所谓缓存崩溃,是指缓存的热数据突然失效,导致大量请求访问数据库,数据库承受不了压力,直接挂机。比如双十一期间,iPhone12可以在凌晨00:00-01:00之间抢购1美分。哇,这个真便宜。程序员也预测到了产品的受欢迎程度,于是将iPhone12的产品信息缓存在redis中,设置为1小时过期。IPhone12是一款新产品,吸引了1亿人的关注。男人、女人和孩子都蜂拥购买一部iPhone。59分钟时,redis中iPhone12的数据突然过期。这时候大量的请求去了数据库,数据库直接崩溃了。

为了处理缓存崩溃,我们也有一些措施,比如设置热数据永不过期,比如锁定数据。当一个线程不能请求数据时,其他用户线程也不能请求数据,直到第一个线程得到数据,才去redis缓存,而其他线程仍然从缓存中取数据,比如服务降级,直接返回“货太热,系统休息一会儿”。

通过这篇文章的介绍,相信你对缓存、缓存雪崩、缓存击穿、缓存穿透有了相应的了解。当你的业务由于高并发、大数据量而准备启用缓存策略时,你要针对缓存带来的雪崩、崩溃、渗透等问题采取防护措施,让大家玩得开心~

-结束-

1.《雪崩击穿 原来缓存也会雪崩、击穿、穿透啊》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《雪崩击穿 原来缓存也会雪崩、击穿、穿透啊》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/714720.html

上一篇

脑血管痉挛症状 蛛网膜下腔出血后脑血管痉挛及处理方法

下一篇

李连庆 贺州市消防救援支队支队长李连庆来啦,欢迎大家提问!

吞食天地2武将 FC吞食天地2,名气很大却不好用的武将,当年被华丽数据所欺骗

  • 吞食天地2武将 FC吞食天地2,名气很大却不好用的武将,当年被华丽数据所欺骗
  • 吞食天地2武将 FC吞食天地2,名气很大却不好用的武将,当年被华丽数据所欺骗
  • 吞食天地2武将 FC吞食天地2,名气很大却不好用的武将,当年被华丽数据所欺骗
河南总人口有多少2019 河南到底有多少人?最新人口数据出炉!

河南总人口有多少2019 河南到底有多少人?最新人口数据出炉!

《河南商报》首席记者吴军 初步测算,2019年河南GDP为54259.2亿元,比上年增长7.0%;人均GDP 56388元,增长6.4%。 2020年3月10日,河南省统计局和国家统...

托福成绩单 ETS官方数据:全球及中国考生托福成绩平均分

托福成绩单 ETS官方数据:全球及中国考生托福成绩平均分

根据美国教育考试服务平台ETS的《和成绩总结报告》显示,中国托福考生平均成绩为77分,与近几年的平均成绩相差不大。以下是ETS官方发布的历年托福数据权威分析。根据ETS公布的托福数据...

财富号 揭秘蚂蚁财富号运营大数据

  • 财富号 揭秘蚂蚁财富号运营大数据
  • 财富号 揭秘蚂蚁财富号运营大数据
  • 财富号 揭秘蚂蚁财富号运营大数据
淘宝爆款分析软件 大数据工具帮你选出行业爆款!让你告别费心费力选款却效果不好的尴尬局面

淘宝爆款分析软件 大数据工具帮你选出行业爆款!让你告别费心费力选款却效果不好的尴尬局面

众所周知,一家店铺的生意好不好,主要取决于店铺产品的销量,也就是说,产品决定了店铺的整体利润。如果产品没有选好,市场不会认可,消费者也不会为产品买单。因此,选择风格是商店的关键一步。 这些6...

元旦自由行 元旦旅游大数据:出行人群80后90后打主力

元旦假期已经结束,2019年开始了新的一幕。今年第一个小长假期间旅游有什么新趋势?2019年1月2日,记者从携程网获悉。旅游网结合大数据和全国7000多家携程店的注册,发布了2019...

数据通信 什么是数据通信 数据通信知识详解

数据通信 什么是数据通信 数据通信知识详解

什么是数据通信?数据通信知识详解 1.什么是数据通信 数据通信是通信技术和计算机技术相结合的一种新的通信方式。两地之间传递信息,必须有一个传输通道,根据传输介质的不同,可以分为有线数据通信和...

暗网网站 你的信息不值钱!误入暗网知识大全,这波数据交易让我瑟瑟发抖

  • 暗网网站 你的信息不值钱!误入暗网知识大全,这波数据交易让我瑟瑟发抖
  • 暗网网站 你的信息不值钱!误入暗网知识大全,这波数据交易让我瑟瑟发抖
  • 暗网网站 你的信息不值钱!误入暗网知识大全,这波数据交易让我瑟瑟发抖