redis雪崩 穿透 擊穿和解決方案

2021-10-10 10:43:10 字數 713 閱讀 9859

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形式儲存,在控制層先進行校驗,不符合則丟棄,從而避免了對底層...