缓存击穿、缓存雪崩、缓存穿透
创始人
2024-06-02 17:47:11
0

一、缓存击穿
问题:缓存中某一个key对应的缓存数据过期,无法命中缓存直接查询数据库,导致数据库压力增大。

解决方案:
(1)互斥锁。
无法命中缓存,首先抢互斥锁,当获取到互斥锁,再进行查询数据库的操作,并且放入缓存;否则,一直重试获取缓存的方法,或者直接返回空。

场景:并发量不高。

(2)异步更新缓存。
无法命中缓存,首先创建异步任务进行更新缓存,然后直接返回为空。
优点:不会阻塞当前线程。
缺点:牺牲数据一致性。

场景:数据一致性要求不高。

(3)将热点数据设置为永久缓存。

二、缓存雪崩
问题:缓存中大量key对应的缓存数据过期,无法命中缓存直接查询数据库,导致数据库崩溃。

解决方案:
(1)将热点数据设置为永久缓存。
(2)将缓存失效时间设置为随机时间。

三、缓存穿透
问题:缓存中某一个key不存在,数据库中也不存在,无法命中缓存直接查询数据库,导致数据库压力增大。

解决方案:
(1)空值缓存。
将key在缓存中对应的值设置为空。

注意:为确保数据最终一致性,key必须设置过期时间,防止这个key的数据后面真实存在,但是这个key的值始终为空,导致数据不一致的情况出现。

场景:key不多,并且可以预测。

(2)布隆过滤器(BloomFilter)。
把有数据的key都放到BloomFilter中,查询时首先去BloomFilter判断key是否存在,如果不存在就直接返回空。
布隆过滤器是一种数据结构,特点是高效地插入和查询。
可以明确:“某个东西一定不存在或者可能存在”。

场景:key只增加不减少,或者全部删除。

相关内容

热门资讯

“岁月无多人易老,乾坤虽大愁... “岁月无多人易老,乾坤虽大愁难着”出自南宋吴潜《满江红·豫章滕王阁》满江红·豫章滕王阁万里西风,吹我...
“酒面扑春风,泪眼零秋雨”的... “酒面扑春风,泪眼零秋雨”指男子在外冶游飘荡,女子却独守闺房,以泪洗面。出自北宋词人姚宽《生查子·情...
古风唯美忧伤诗句 古风唯美忧伤诗句  一座桥,名为奈何;一条河,名为忘川。三生石畔,伊人仍旧。愿,陪君醉笑三千场,不诉...
花的唯美诗句 关于花的唯美诗句(精选170句)  在平日的学习、工作和生活里,大家都经常接触到诗句吧,诗句是高度凝...
殢人娇,殢人娇李流谦,殢人娇... 殢人娇,殢人娇李流谦,殢人娇的意思,殢人娇赏析 -诗词大全  殢人娇,殢人娇李流谦,殢人娇的意思,殢...
乞巧节的古诗句 乞巧节的古诗句  乞巧节,即七夕节,这个节日起源于汉代,一起来看看古诗句,仅供大家参考!谢谢!  1...
七字古代唯美诗句爱情 七字古代唯美诗句爱情  未曾青梅,青梅枯萎,芬芳满地 不见竹马,竹马老去,相思万里 从此,我爱上的人...
不知天上宫阙 “不知天上宫阙”出处 出自 宋代 苏轼 的《水调歌头》“不知天上宫阙”平仄韵脚 拼音:bù zhī ...
“海阔凭鱼跃,天高任鸟飞”的... “海阔凭鱼跃,天高任鸟飞”的意思及出处 宋·阮阅《诗话总龟前集》卷三十引《古今诗话》谓:唐代大历年间...
描写秦淮河的古诗句 描写秦淮河的古诗句  烟笼寒水月笼纱,夜泊秦淮近酒家。商女不知亡国恨,隔江犹唱后庭花。  陵古形胜,...
描写梅花精神的诗句   1、已见寒梅发,复闻啼鸟声。心心视春草,畏向玉阶生。  2、君自故乡来,应知故乡事。来日倚窗前,...
空山新雨后天气晚来秋诗句赏析 空山新雨后天气晚来秋诗句赏析  在平平淡淡的学习、工作、生活中,大家都经常接触到诗句吧,诗句是组成诗...
贺铸古诗鉴赏 贺铸古诗鉴赏  贺铸  急雨收春,斜风约水,浮江涨绿鱼文起。  年年游子惜余春,春归不解招游子。  ...
赞美桃花的优美诗句 赞美桃花的优美诗句(精选110句)  在日常学习、工作抑或是生活中,大家或多或少都接触过一些经典的诗...
《月夜忆舍弟》古诗鉴赏 《月夜忆舍弟》古诗鉴赏  《月夜忆舍弟》原文  戍(shù)鼓断人行,边秋一雁声。  露从今夜白,月...
郭沫若的诗歌 郭沫若的诗歌(通用9篇)  在平时的学习、工作或生活中,许多人都接触过一些比较经典的诗歌吧,诗歌具有...
唐代诗人李白简介及代表作 唐代诗人李白简介及代表作  李白有《李太白集》传世,诗作中多以醉时写的,代表作有《望庐山瀑布》《行路...
《哀江头》杜甫唐诗鉴赏 《哀江头》杜甫唐诗鉴赏  哀江头  杜甫  少陵野老吞声哭,  春日潜行曲江曲。  江头宫殿锁千门,...
描写和赞美塔尔寺的诗句 描写和赞美塔尔寺的诗句  (第一首)  湟水流经山坳中,如来八塔映天空。  衣冠络绎观三绝,袍袖匍匐...