1.查詢緩存
1.2.出現的原因
用戶高并發訪問帶來的服務器讀寫的壓力
1.3.解決方法
添加緩存
2.緩存更新
2.1.出現的原因
出現數據不一致的問題
2.2.解決方法
操作數據庫的時候
- 更新數據庫
- 刪除緩存
查詢數據的時候 - 設置過期時間
3.緩存穿透
3.1.出現的原因
在高并發訪問某個商品時,在redis和數據庫中都沒有命中,對數據庫造成壓力。
3.2.解決方法
向redis中設置空值,將并發的壓力給到redis,因為他比數據庫的并發能力強。
4.緩存雪崩
4.1.出現的原因
redis宕機,多個熱點key失效,壓力瞬間給到數據庫
5.緩存擊穿
5.1.出現的原因
某一個熱點key失效,瞬間壓力給到數據庫
5.2.解決方法
- 互斥鎖(讓一個線程訪問數據庫,其他的線程進行等待)
- 邏輯過期(讓一個線程訪問數據庫,其他的線程返回舊數據)