我們在使用redis快取時候常用方案是先查redis,如果redis有返回,沒有則查資料庫,資料庫查出來後放入redis。
快取雪崩是指快取中資料在同一時間大量失效,導致查詢全部落入資料庫。
解決方案:
資料的過期時間隨機設定,防止同時過期
設定熱點資料永遠不過期。
快取擊穿是指某一條熱點資料失效,導致此時大批量查詢這條資料的請求落到資料庫。
解決方案:
加鎖,只有第乙個請求查詢資料庫,然後放入redis,後續的都查詢資料庫。
設定熱點資料永遠不過期。
快取穿透在惡意攻擊中比較常見,客戶端一直查詢不存在的資料。
解決方案:布隆過濾器。
快取穿透 快取穿擊 快取雪崩 的理解
快取穿透 指快取和資料庫中都沒有的資料,而使用者不斷發起請求,如發起為id為 1 的資料或id為特別大不存在的資料。這時的使用者很可能是攻擊者,攻擊會導致資料庫壓力過大。解決方案 介面層增加校驗,如使用者鑑權校驗,id做基礎校驗,id 0的直接攔截 從快取取不到的資料,在資料庫中也沒有取到,這時也可...
redis快取雪崩
今天來分享一下redis幾道常見的面試題 回顧一下我們為什麼要用快取 redis 現在有個問題,如果我們的快取掛掉了,這意味著我們的全部請求都跑去資料庫了。在前面學習我們都知道redis不可能把所有的資料都快取起來 記憶體昂貴且有限 所以redis需要對資料設定過期時間,並採用的是惰性刪除 定期刪除...
Redis 快取雪崩
快取層承載著大量請求,有效的保護了儲存層。但是如果快取層由於某些原因整體不能提供服務 大面積宕機或者快取的內容失效等 會導致所有的請求都到達儲存層,儲存層的呼叫量暴增,造成儲存層宕機,系統崩潰。在網上看到了乙個非常有趣的說法 快取雪崩的英文原意是 stampeding herd 奔逃的野牛 指的是快...