溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

html中緩存擊穿、穿透、雪崩的區(qū)別是什么

發(fā)布時(shí)間:2022-03-18 13:48:39 來(lái)源:億速云 閱讀:187 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)html中緩存擊穿、穿透、雪崩的區(qū)別是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

緩存擊穿 (某個(gè)熱點(diǎn)key緩存失效了)
緩存中沒(méi)有但數(shù)據(jù)庫(kù)中有的數(shù)據(jù),假如是熱點(diǎn)數(shù)據(jù),那key在緩存過(guò)期的一刻,同時(shí)有大量的請(qǐng)求,這些請(qǐng)求都會(huì)擊穿到DB,造成瞬時(shí)DB請(qǐng)求量大、壓力增大。

和緩存雪崩的區(qū)別在于這里針對(duì)某一key緩存,后者則是很多key。
預(yù)防:設(shè)置熱點(diǎn)數(shù)據(jù)不過(guò)期,定時(shí)任務(wù)定時(shí)更新緩存,或者設(shè)置互斥鎖。


緩存穿透(查詢(xún)不存在數(shù)據(jù))
查詢(xún)一個(gè)不存在的數(shù)據(jù),由于緩存是不命中的,并且出于容錯(cuò)考慮,如發(fā)起為id為“-1”不存在
的數(shù)據(jù)如果從存儲(chǔ)層查不到數(shù)據(jù)則不寫(xiě)入緩存這將導(dǎo)致這個(gè)不存在的數(shù)據(jù)每次請(qǐng)求都要到存儲(chǔ)層去
查詢(xún),失去了緩存的意義。存在大量查詢(xún)不存在的數(shù)據(jù),可能DB就掛掉了,這也是黑客利用不存在的key頻繁攻擊應(yīng)用的一種方式。
預(yù)防:接口層增加校驗(yàn),數(shù)據(jù)合理性校驗(yàn),緩存取不到的數(shù)據(jù),在數(shù)據(jù)庫(kù)中也沒(méi)有取到,這時(shí)也可以將key-value對(duì)寫(xiě)為key-null,設(shè)置短點(diǎn)的過(guò)期時(shí)間,防止同個(gè)key被一直攻擊。


緩存雪崩 (多個(gè)熱點(diǎn)key都過(guò)期)
大量的key設(shè)置了相同的過(guò)期時(shí)間,導(dǎo)致在緩存在同一時(shí)刻全部失效,造成瞬時(shí)DB請(qǐng)求量大、壓力驟增,引起雪崩
預(yù)防:存數(shù)據(jù)的過(guò)期時(shí)間設(shè)置隨機(jī),防止同一時(shí)間大量數(shù)據(jù)過(guò)期現(xiàn)象發(fā)生,設(shè)置熱點(diǎn)數(shù)據(jù)永遠(yuǎn)不過(guò)期,定時(shí)任務(wù)定時(shí)更新。

感謝各位的閱讀!關(guān)于“html中緩存擊穿、穿透、雪崩的區(qū)別是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI