1. redis雪崩
大量的快取資料同時時間失效,導致使用者直接發起大量請求到資料庫
生成隨機失效的快取時間資料,使快取不會在同一時間失效
集群部署,熱點的key分別在不同的節點上
不設定快取失效的時間
定時任務更新快取的資料
2. redis穿透
使用者請求資料,例如id為負數,不存在快取裡,也不存在資料庫裡,就會造成快取擊穿
無意義的資料放入快取,下一次相同的請求就會命中快取
ip過濾
引數校驗
布隆過濾器
3. 擊穿
由於快取的熱點鍵到時失效導致使用者的請求直接訪問資料庫
使用永久快取
用分布式鎖
解決方案:布隆過濾器,分布式鎖
4. 專案上線準備和措施
上線前準備
redis集群、mysql集群、 專案本身的分布式集群
專案執行準備
限流降級,防止大量的資料直接防止資料庫
專案宕機的措施
整合報警系統 通知開發人員,快速重啟專案,利用redis的rdb和aof持久化機制快速恢復快取資料
Redis中快取穿透 擊穿 雪崩問題和解決方法
目錄 快取穿透是指使用者想查詢乙個資料,發現redis中沒有,也就是快取沒有命中,就向永續性資料庫發起查詢,發現資料庫也沒有這個資料,於是查詢失敗了。當使用者請求很多的情況下,快取沒有命中,資料庫也沒有數程式設計客棧據,會給資料庫造成很大的壓力,這就是快取穿透。解決方案 第一種解決方案 使用布隆過濾...
redis 雪崩,穿透,擊穿
雪崩 同一時間key大面積失效 多出現在定時任務重新整理時 處理方案 1,把每個key的失效時間都加乙個隨機值 2,設定熱點資料永不過期,有更新操作就更新快取 3,如果時集群,將熱點資料均勻分布在不同的redis庫仲 穿透 快取和資料庫仲都沒有的資料時,使用者不斷的發起請求 處理方案 1,在介面層增...
Redis雪崩 穿透 擊穿
1 定義 1.快取穿透是指查詢乙個一定不存在的資料,由於快取不命中,接著查詢資料庫也無法查詢出結果,2.雖然也不會寫入到快取中,但是這將會導致每個查詢都會去請求資料庫,造成快取穿透 2 解決方法 布隆過濾 1.對所有可能查詢的引數以hash形式儲存,在控制層先進行校驗,不符合則丟棄,從而避免了對底層...