oracle儲存過程--流程控制(條件判斷和迴圈遍歷)
阿新 • • 發佈:2021-01-10
學習、面試重點
快取穿透
當訪問redis中一個沒有的key時,導致快取無法被擊中,這時候每次請求給都會穿透到資料庫進行查詢導致資料的壓力過大,有時可能直接掛掉。
解決方案
- 布隆過濾器攔截
- 快取空物件
快取擊穿
是指快取中的某個key在過期的瞬間,有大量的請求訪問,一般都是一些熱點資料,但是快取已經過期,請求就會來到資料庫進行訪問查詢,並且回寫快取,導致資料庫的壓力過大。
解決方案
- 設定熱點資料資料不過時
- 加互斥鎖
快取雪崩
是指快取採用了相同的過期時間,在某一時刻快取同時失效,導致請求全部去訪問資料庫進行查詢,從而導致資料庫的壓力過大,產生雪崩。
解決方案
- 不同的key設定不同的過期時間
- 在快取失效後,通過加分散式鎖或者分散式佇列的方式來控制讀資料庫寫快取的執行緒數量。setnx
- 做一些預案設定,比如二級快取,或者叫雙快取策略。
具體的原理及詳細的解決方案可以慢慢學習探索。