Redis快取穿透 擊穿 雪崩

2021-10-14 10:09:07 字數 407 閱讀 9816

學習、面試重點

當訪問redis中乙個沒有的key時,導致快取無法被擊中,這時候每次請求給都會穿透到資料庫進行查詢導致資料的壓力過大,有時可能直接掛掉。

解決方案

是指快取中的某個key在過期的瞬間,有大量的請求訪問,一般都是一些熱點資料,但是快取已經過期,請求就會來到資料庫進行訪問查詢,並且回寫快取,導致資料庫的壓力過大。

解決方案

是指快取採用了相同的過期時間,在某一時刻快取同時失效,導致請求全部去訪問資料庫進行查詢,從而導致資料庫的壓力過大,產生雪崩。

解決方案

具體的原理及詳細的解決方案可以慢慢學習探索。

Redis快取穿透,穿透擊穿,快取雪崩

乙個一定不存在快取及查詢不到的資料,由於快取是不命中時被動寫的,並且出於容錯考慮,如果從儲存層查不到資料則不寫入快取,這將導致這個不存在的資料每次請求都要到儲存層去查詢,失去了快取的意義。有很多種方法可以有效地解決快取穿透問題,最常見的則是採用布隆過濾器,將所有可能存在的資料雜湊到乙個足夠大的bit...

redis 快取穿透 擊穿 雪崩

介面層增加校驗,如使用者鑑權校驗,id做基礎校驗,id 0的直接攔截 從快取取不到的資料,在資料庫中也沒有取到,這時也可以將key value對寫為key null,快取有效時間可以設定短點,如30秒 設定太長會導致正常情況也沒法使用 這樣可以防止攻擊使用者反覆用同乙個id暴力攻擊 public o...

redis快取穿透,擊穿,雪崩

快取穿透 描述 快取穿透是指快取和資料庫中都沒有的資料,而使用者不斷發起請求,多來自於黑客攻擊。由於快取是不命中時被動寫的,並且出於容錯考慮,如果從儲存層查不到資料則不寫入快取,這將導致這個不存在的資料每次請求都要到儲存層去查詢,失去了快取的意義。在流量大時,可能db就掛掉了,要是有人利用不存在的k...