快取更新策略
快取穿透
快取雪崩
快取擊穿
鎖
Redisson
快取穿透:
- 使用者請求的資料在快取中和資料庫中都不存在,不斷髮起這樣的請求,給資料庫帶來巨大壓力
快取穿透的解決方案有哪些?
- 快取null值
- 布隆過濾
- 增強id複雜度,避免被猜測id規律
- 做好資料的基礎格式校驗
- 加強使用者許可權校驗
快取雪崩:
- 是指在同一時段大量的快取key同時失效或者Redis服務當機,導致大量請求到達資料庫,帶來巨大壓力。
解決方案:
- 給不同的Key的TTL新增隨機值
- 利用Redis叢集提高服務的可用性
- 給快取業務新增降級限流策略
- 給業務新增多級快取
快取擊穿:
- 快取擊穿問題也叫熱點Key問題,就是一個被高併發訪問並且快取重建業務較複雜的key突然失效了,無數的請求訪問會在瞬間給資料庫帶來巨大的衝擊。
常見的解決方案有兩種:
- 互斥鎖
- 邏輯過期