redis系列6 快取雪崩 快取擊穿 快取穿透

2021-09-20 21:32:27 字數 347 閱讀 8344

我們在使用redis快取時候常用方案是先查redis,如果redis有返回,沒有則查資料庫,資料庫查出來後放入redis。

快取雪崩是指快取中資料在同一時間大量失效,導致查詢全部落入資料庫。

解決方案:

資料的過期時間隨機設定,防止同時過期

設定熱點資料永遠不過期。

快取擊穿是指某一條熱點資料失效,導致此時大批量查詢這條資料的請求落到資料庫。

解決方案:

加鎖,只有第乙個請求查詢資料庫,然後放入redis,後續的都查詢資料庫。

設定熱點資料永遠不過期。

快取穿透在惡意攻擊中比較常見,客戶端一直查詢不存在的資料。

解決方案:布隆過濾器。

快取穿透 快取穿擊 快取雪崩 的理解

快取穿透 指快取和資料庫中都沒有的資料,而使用者不斷發起請求,如發起為id為 1 的資料或id為特別大不存在的資料。這時的使用者很可能是攻擊者,攻擊會導致資料庫壓力過大。解決方案 介面層增加校驗,如使用者鑑權校驗,id做基礎校驗,id 0的直接攔截 從快取取不到的資料,在資料庫中也沒有取到,這時也可...

redis快取雪崩

今天來分享一下redis幾道常見的面試題 回顧一下我們為什麼要用快取 redis 現在有個問題,如果我們的快取掛掉了,這意味著我們的全部請求都跑去資料庫了。在前面學習我們都知道redis不可能把所有的資料都快取起來 記憶體昂貴且有限 所以redis需要對資料設定過期時間,並採用的是惰性刪除 定期刪除...

Redis 快取雪崩

快取層承載著大量請求,有效的保護了儲存層。但是如果快取層由於某些原因整體不能提供服務 大面積宕機或者快取的內容失效等 會導致所有的請求都到達儲存層,儲存層的呼叫量暴增,造成儲存層宕機,系統崩潰。在網上看到了乙個非常有趣的說法 快取雪崩的英文原意是 stampeding herd 奔逃的野牛 指的是快...