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