Redis緩存的穿透昭灵、擊穿和雪崩效應(yīng)

上一篇 <<<Redis集群模式的類(lèi)型和缺陷匯總
下一篇 >>>Redis解決穿透擊穿問(wèn)題時(shí)使用的布隆過(guò)濾器知識(shí)點(diǎn)


緩存穿透

1.場(chǎng)景【key不存在轧飞,高并發(fā)查詢數(shù)據(jù)庫(kù)】

緩存穿透是指使用不存在的key進(jìn)行大量的高并發(fā)查詢,導(dǎo)致緩存無(wú)法命中,每次請(qǐng)求都要都要穿透到后端數(shù)據(jù)庫(kù)查詢耘子,使得數(shù)據(jù)庫(kù)的壓力非常大,甚至導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)壓死球切;

2.解決方案

a谷誓、接口層實(shí)現(xiàn)api限流、防御DDOS吨凑、接口頻率限制捍歪、網(wǎng)關(guān)實(shí)現(xiàn)黑名單、用戶授權(quán)鸵钝、id檢查等糙臼;
b、從緩存和數(shù)據(jù)庫(kù)都取不到數(shù)據(jù)的話恩商,一樣將數(shù)據(jù)庫(kù)空值放入緩存中变逃,加上短時(shí)間的有效期(只適合單個(gè)key 隨機(jī)生成不同key、影響正常使用)
c怠堪、布隆過(guò)濾器

緩存擊穿

1.場(chǎng)景【單個(gè)熱點(diǎn)key失效時(shí)揽乱,高并發(fā)查詢數(shù)據(jù)庫(kù)】

在高并發(fā)的情況下名眉,當(dāng)一個(gè)緩存key過(guò)期時(shí),因?yàn)樵L問(wèn)該key請(qǐng)求較大凰棉,多個(gè)請(qǐng)求同時(shí)發(fā)現(xiàn)緩存過(guò)期损拢,因此對(duì)多個(gè)請(qǐng)求同時(shí)數(shù)據(jù)庫(kù)查詢、同時(shí)向Redis寫(xiě)入緩存數(shù)據(jù)撒犀,這樣會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的壓力非常大福压;

2.解決方案

a、使用分布式鎖
保證在分布式情況下或舞,使用分布式鎖保證對(duì)于每個(gè)key同時(shí)只允許只有一個(gè)線程查詢到后端服務(wù)荆姆,其他沒(méi)有獲取到鎖的權(quán)限,只需要等待即可嚷那;這種高并發(fā)壓力直接轉(zhuǎn)移到分布式鎖上胞枕,對(duì)分布式鎖的壓力非常大。獲取到鎖的請(qǐng)求將數(shù)據(jù)寫(xiě)入成功到redis中魏宽, 通知沒(méi)有獲取鎖的請(qǐng)求直接從Redis獲取數(shù)據(jù)即可
b腐泻、使用本地鎖
使用本地鎖與分布式鎖機(jī)制一樣,只不過(guò)分布式鎖適應(yīng)于服務(wù)集群队询、本地鎖僅限于單個(gè)服務(wù)使用派桩。
c、軟過(guò)期
設(shè)置熱點(diǎn)數(shù)據(jù)永不過(guò)期或者異步延長(zhǎng)過(guò)期時(shí)間蚌斩;
d铆惑、布隆過(guò)濾器
e、到期前的續(xù)命(在value設(shè)置一個(gè)比過(guò)期時(shí)間t0小的過(guò)期時(shí)間值t1送膳,當(dāng)t1過(guò)期的時(shí)候员魏,延長(zhǎng)t1并做更新緩存操作。)

緩存雪崩

1.場(chǎng)景【多個(gè)key同時(shí)失效叠聋,高并發(fā)查詢數(shù)據(jù)庫(kù)】

緩存雪崩指緩存服務(wù)器重啟(沒(méi)有持久化)或者大量的緩存集中在某個(gè)時(shí)間段失效撕阎,突然給數(shù)據(jù)庫(kù)產(chǎn)生了巨大的壓力,甚至擊垮數(shù)據(jù)庫(kù)的情況碌补。

2.解決方案

1.對(duì)不用的數(shù)據(jù)使用不同的失效時(shí)間
2.使用集群化分?jǐn)偛渴鹞覀僰ey
3.使用二級(jí)緩存
A1為原始緩存虏束,A2為拷貝緩存,A1失效時(shí)厦章,可以訪問(wèn)A2镇匀,A1緩存失效時(shí)間設(shè)置為短期,A2設(shè)置為長(zhǎng)期


推薦閱讀:
<<<分布式緩存與本地緩存的區(qū)別
<<<Ehcache基礎(chǔ)知識(shí)
<<<SpringBoot整合Ehcache
<<<Redis的5種數(shù)據(jù)類(lèi)型
<<<Redis存放實(shí)體對(duì)象的方式及區(qū)別
<<<Redis的應(yīng)用場(chǎng)景匯總
<<<Redis高效及線程安全的真正原因
<<<Redis為啥要分為16個(gè)庫(kù)
<<<RDB和AOF持久化方式的區(qū)別
<<<Redis與數(shù)據(jù)庫(kù)的一致性解決方案
<<<SpringBoot整合Redis的注解版本完成數(shù)據(jù)緩存
<<<Redis的淘汰策略
<<<Redis的事務(wù)操作(Mult和Watch)知識(shí)點(diǎn)
<<<Redis的過(guò)期機(jī)制使用場(chǎng)景示例
<<<Redis實(shí)現(xiàn)分布式鎖的原理分析
<<<Redis分布式鎖的實(shí)現(xiàn)代碼示例
<<<使用Redisson工具實(shí)現(xiàn)分布式鎖
<<<Redis集群模式之主從復(fù)制原理及存在的缺陷
<<<Redis集群模式之哨兵模式
<<<Redis集群模式之Cluster去中心化分片集群
<<<Linux環(huán)境下安裝單機(jī)Redis
<<<Redis Cluster集群環(huán)境搭建
<<<Redis Cluster如何動(dòng)態(tài)擴(kuò)容與縮容
<<<Redis Cluster主從節(jié)點(diǎn)自動(dòng)切換
<<<Redis集群模式的類(lèi)型和缺陷匯總
<<<Redis解決穿透擊穿問(wèn)題時(shí)使用的布隆過(guò)濾器知識(shí)點(diǎn)
<<<Redis與MySQL的數(shù)據(jù)同步解決方案
<<<阿里云的Canal框架實(shí)現(xiàn)Redis與Mysql同步原理及代碼示例
<<<阿里云的Canal框架配置
<<<Redis官方提出的redlock分布式鎖
<<<Redis的調(diào)優(yōu)設(shè)置
<<<Redis常見(jiàn)問(wèn)題匯總

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末袜啃,一起剝皮案震驚了整個(gè)濱河市汗侵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖晃择,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冀值,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡宫屠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)滑蚯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)浪蹂,“玉大人,你說(shuō)我怎么就攤上這事告材±ご危” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵斥赋,是天一觀的道長(zhǎng)缰猴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)疤剑,這世上最難降的妖魔是什么滑绒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮隘膘,結(jié)果婚禮上疑故,老公的妹妹穿的比我還像新娘。我一直安慰自己弯菊,他們只是感情好纵势,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著管钳,像睡著了一般钦铁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上才漆,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天牛曹,我揣著相機(jī)與錄音,去河邊找鬼栽烂。 笑死躏仇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腺办。 我是一名探鬼主播焰手,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼怀喉!你這毒婦竟也來(lái)了书妻?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躲履,沒(méi)想到半個(gè)月后见间,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡工猜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年米诉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篷帅。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡史侣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魏身,到底是詐尸還是另有隱情惊橱,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布箭昵,位于F島的核電站税朴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏家制。R本人自食惡果不足惜正林,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望慰丛。 院中可真熱鬧卓囚,春花似錦、人聲如沸诅病。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)贤笆。三九已至蝇棉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芥永,已是汗流浹背篡殷。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留埋涧,地道東北人板辽。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像棘催,于是被迫代替她去往敵國(guó)和親劲弦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容