由於快取原因,導致大量請求到達後端資料庫,從而導致資料庫崩潰,整個系統崩潰,發生災難
解決方案
1、給快取增加失效時間,加乙個隨機值,避免集體失效
2、使用互斥鎖
3、雙快取
快取穿透指在高併發的情況下,如果某乙個key被高併發訪問,沒有命中,直接查詢資料庫獲取,從而導致了大量請求到達資料庫,而獲取key對應的資料庫本身是空的情況下、這就導致了資料庫執行了很多不必要的請求,從而導致巨大衝擊壓力
解決方案**
1、快取空物件
2、單獨過濾處理
對於所有資料key可能為空的的統一存放,並在請求進行攔截,這種比較適合命中不高,但更新不頻繁的數
擊穿實際上是雪崩的乙個特例,區別在於擊穿是特定的熱點資料,而雪崩是全部資料
解決方案**
1、二級快取,對於熱點資料進行二級快取,並對於不同級別的快取設定不同的失效時間,則請求不會擊穿快取到資料庫
Redis 穿透 擊穿 雪崩問題
快取穿透 指快取和資料庫中都沒有的資料,導致所有的請求都打到資料庫上,然後資料庫還查不到 如null 造成資料庫短時間執行緒數被打滿而導致其他服務阻塞,最終導致線上服務不可用,這種情況一般來自黑客同學。key null,快取有效時間可以設定短點 快取擊穿 指快取中沒有但資料庫中有的資料 一般是熱點資...
Redis穿透 擊穿和雪崩
概念 key對應的資料在資料來源並不存在,每次針對此key的請求從快取獲取不到,請求都會到資料來源,從而可能壓垮資料來源。比如用乙個不存在的使用者id獲取使用者資訊,不論快取還是資料庫都沒有,若黑客利用此漏洞進行攻擊可能壓垮資料庫。解決方案 乙個一定不存在快取及查詢不到的資料,由於快取是不命中時被動...
redis 雪崩,穿透,擊穿
雪崩 同一時間key大面積失效 多出現在定時任務重新整理時 處理方案 1,把每個key的失效時間都加乙個隨機值 2,設定熱點資料永不過期,有更新操作就更新快取 3,如果時集群,將熱點資料均勻分布在不同的redis庫仲 穿透 快取和資料庫仲都沒有的資料時,使用者不斷的發起請求 處理方案 1,在介面層增...