{eval=Array;=+count(Array);}
(1)雪崩、擊穿、穿透最終的結(jié)果都是請求壓力會(huì)轉(zhuǎn)移到數(shù)據(jù)庫,導(dǎo)致系統(tǒng)崩潰,但場景有所區(qū)別;
(2)雪崩
◆ 大量的不同請求無法在 Redis 中命中,導(dǎo)致請求都流向了數(shù)據(jù)庫,數(shù)據(jù)庫的壓力劇增;
◆ 發(fā)生雪崩的原因可能是,有大量的緩存 Key 在同一時(shí)間過期。
(3)擊穿
◆ 并發(fā)很大的情況下,針對(duì)某個(gè)特定的請求,緩存中數(shù)據(jù)不存在,導(dǎo)致都請求到了數(shù)據(jù)庫,造成數(shù)據(jù)庫壓力過大;
◆ 原因通常是某個(gè) Key 過期了;
◆ 和雪崩相比較,擊穿是針對(duì)的單個(gè) Key。
(4)穿透
◆ 緩存穿透是指請求的數(shù)據(jù)不在 Redis 緩存中,也不在數(shù)據(jù)庫中,導(dǎo)致訪問緩存時(shí),找不到數(shù)據(jù),會(huì)去請求數(shù)據(jù)庫,而在數(shù)據(jù)庫中也找不到相應(yīng)的數(shù)據(jù);
◆ 并發(fā)比較大的時(shí)候,數(shù)據(jù)庫會(huì)遭受巨大的壓力;
◆ 發(fā)生穿透的原因可能有兩個(gè):
◆ 誤操作導(dǎo)致 Redis 和數(shù)據(jù)庫中的數(shù)據(jù)都被刪除了;
◆ 惡意攻擊。
2
回答1
回答6
回答1
回答0
回答0
回答0
回答0
回答0
回答0
回答