緩存穿透、擊穿、雪崩

1、緩存穿透

? ? 用戶用不存在的key發(fā)起請求,如id=-1,或者過大的id,會(huì)不斷訪問db,量大時(shí)會(huì)導(dǎo)致數(shù)據(jù)庫掛掉。

解決方法:

(1)、增加key值校驗(yàn)。

(2)、緩存設(shè)置,即使數(shù)據(jù)庫中不存在的值也在寫入到緩存中,如(-1,null)等,可以設(shè)置有效時(shí)間短些,防止單id反復(fù)攻擊。

2、緩存擊穿

? ? 緩存中存在的key,在失效的時(shí)候,大量對此數(shù)據(jù)的請求去訪問數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫的壓力瞬間提升。

解決方法:

(1)、設(shè)置熱點(diǎn)數(shù)據(jù)永不過期

(2)、加互斥鎖

3、緩存雪崩

? ? 相對于擊穿,大量的key同時(shí)失效,導(dǎo)致大量請求同時(shí)訪問db,引起db壓力驟增,導(dǎo)致雪崩。

解決方法:

(1)、熱點(diǎn)數(shù)據(jù)永不過期

(2)、可以失效時(shí)間分布設(shè)置,防止同一時(shí)間大量key同時(shí)失效。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容