缓存击穿,缓存穿透,缓存雪崩(缓存)
面试官:介绍一下什么是缓存雪崩、缓存击穿、缓存穿透?
面试官:我看你简历上有写到 Redis,那你可以介绍一下什么是缓存雪崩、缓存击穿和缓存穿透吗?
缓存雪崩缓存雪崩是指大量的缓存数据几乎在同一时间内失效,而这时候又刚好碰上大量请求过来获取该数据,导致缓存没有击中,所有的请求都直接打在了我们的后端数据库中;
数据库压力骤增,就可能引发链路滚雪球式的不可用,一个服务拖垮一堆服务。
在 Redis 作缓存的场景中,表现的原因有:
大量的 key 几乎在同一时间失效Redis 宕机,导致所有 key 不可用针对第一个原因,我们可以采取以下的策略进行预防:
均匀地设置过期时间,避免大量数据同时失效使用互斥锁构建缓存,避免所有请求都打到后端数据库采用双 key 策略,主 key 设置过期时间,备 key 不设置,在主 key 失效的时候,可以返回备 keyRedis 后台构建缓存,可以是定期巡检,发现过期了就触发构建缓存,也可以是业务线程发现缓存失效后,通知 Redis 后台线程构建缓存。针对 Redis 宕机的原因,我们可以这么做:
合理设计服务熔断或者请求限流机制,避免大量请求同时打到数据库构建 Redis 高可用集群,避免 Redis 缓存层面的不可用可以看到我们解决缓存雪崩的核心点就是避免大量请求同时打到后端数据库,造成数据库压力骤增,从而避免了雪崩情况的发生。
缓存击穿缓存击穿和缓存雪崩很像,它是指一个或者几个缓存数据失效,大量请求过来获取该数据,导致缓存没有击中,所有的请求都直接打在了我们的后端数据库中;
数据库压力骤增,甚至被击垮。
缓存击穿可以看成是缓存雪崩的一个特例,因为缓存击穿更多的是热点数据失效导致的,而不是大量数据;
但是它们所造成的后果是相似的——容易击垮数据库,从而导致一系列服务不可用。
所以我们也是可以用互斥锁和后台构建缓存的方案来解决缓存击穿。
缓存穿透缓存穿透,和前面两种不同,前面两种只是缓存没击中,还是有数据库兜底的;但是缓存穿透就不一样了,它是缓存没有该数据,数据库也没有该数据的。
缓存穿透产生的情况一般是以下两种:
操作失误,把数据库的数据删了非法请求,专门请求数据库没有的数据针对第一种情况,就是要规范我们的操作,避免出现误删的情况
针对第二种情况,我们可以:
限制非法请求缓存空值或者默认值使用布隆过滤器提前发现数据库中是否存在该数据可以看到解决这类问题的核心是在该类场景下,避免大量请求到达数据库,在达到这个目的的前提下,可以有多种解决方案。
这里的根因是数据库所能承受的并发量不是特别高所决定的。
以上就是我对缓存雪崩、缓存击穿和缓存穿透的回答。
作者:小赖同学
链接:https://juejin/post/7225240369524932663
来源:倔金
手机越“清理”越卡?小心这些坑→
来源: 中央广播电视总台中国之声
不知你是否有这样的经历?打开手机App后,有几秒的强制广告时间,这广告像是“安全提示”,警告你的手机“内存不足”、“有病毒风险”或者“垃圾太多,亟待清理”,往往还伴随着一个大大的叹号。其实过几秒广告就会自动消失,但如果被这样的信息欺骗点击,就会开始下载所谓的“安全软件”、“清理软件”。
值得警惕的是,有的垃圾清理软件下载后,非但不会安全、手机越来越卡,软件本身还会窃取用户隐私。作为普通用户,如何识别这种不安全的“安全软件”?
为何越“清理”越卡顿?
短短几分钟,手机安装4款清理类软件
孙先生打开某些手机软件时,总会收到 “病毒文件”、“垃圾清理”等提示,这些其实只是广告,孙先生担心自己手机安全,根据提示下载清理软件清理后,却发现手机并没有变快,反而是莫名其妙的软件越来越多。
“有时进入App以后,老有一些提示说手机该清理了,速度慢了。我们上岁数的人不懂,就按照提示进行操作。说实话从来没觉得管用,可过一段时间,提示又蹦出来。反而有时觉得手机速度越来越慢。”孙先生说,提示总是自动冒出,不知是真是假,按照提示操作的话,也不知会不会对手机速度、内存有利?
甚至还有的软件,不仅不清理手机垃圾,反而窃取用户隐私、自动安装其他软件。
中国电子技术标准化研究院网络安全中心此前有测试发现,在一款小说阅读软件里,正常阅读过程中出现了清理软件的广告,点击后,手机下载安装了一款叫“内存优化大师”的软件,自动清理过程中继续蹦出“清理手机缓存”的提醒,再次点击后,手机又下载安装了“超强清理大师”,不断地提醒、下载、清理,同样的路径接力重复,手机上又安装了“智能清理大师”和“手机管家Pro”。短短几分钟,4款清理类软件就在手机上“安家落户”。
清理“大师”表面清理手机垃圾
实则窃取用户信息
其实各类清理“大师”表面上是在清理手机垃圾,实际上却在后台大量窃取用户信息。
在对“手机管家Pro”的测试中发现,短短8.75秒,该软件就读取了890次用户应用程序列表、1300多次手机用户识别码(IMSI)、900多次手机设备身份识别码(IMEI)。这类手机清理软件通过高频读取手机信息并不断上传,使CPU高负荷运行,导致手机卡顿,从而达到让用户不断点击下载软件的目的,形成了恶性循环。
清理软件基本无实用功能
通过欺诈诱导安装 老年人易上当
数码评论员黄浩告诉总台央广中国之声记者,这些所谓的清理软件基本上没什么功能,主要“工作”都是通过欺诈的方式,诱导安装软件。
黄浩表示,市面上大部分所谓的清理软件都是“挂羊头卖狗肉”,很多软件里几乎没有做任何的清理相关的应用。很多老年人或对手机不了解的用户,看到这些清理软件后,会出现一些诱导性提问。“比如让下载某个东西,让你点设置好的‘清理’按钮,但实际上会出现另一种诱导方式。清理后,让领取奖励,继续点击‘领取’,实际上就是再安装了另一个垃圾应用或恶意应用。”
黄浩说,每安装一个此类应用,商家都可以获利,而这背后,是一整条应用安装推广的产业链。“现在软件分发都有渠道,通过某个渠道下载的应用,这个软件商会按照下载的量,下载一个5分钱给渠道付费,可以理解清理软件实际上就是一个分发渠道,一个披上了欺诈外衣的渠道。”
建议使用手机系统自带应用
告知家人勿“踩坑”
黄浩强调,此类应用一般难登大雅之堂,也不会在正规应用商店出现,所以只能借助于这样的渠道推广。它们不仅会将其他恶意应用一起带来,还会不知不觉地窃取用户隐私。
那么真要清理手机该怎么办?黄浩建议,只使用系统自带的清理软件或安装正规品牌应用,绝对够用。
“如果身边的朋友或家人询问是否要安装这样的软件时,可以斩钉截铁地回答他不需要,直接用手机厂商自带的软件功能即可,这个软件不需下载,是出厂默认安装在手机里的。”
(编辑 王法)
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20240417/169625535388749.html