缓存雪崩问题
緩存雪崩是指機器宕機或在我們設置緩存時采用了相同的過期時間,導致緩存在某一時刻同時失效,請求全部轉發到DB,DB瞬時壓力過重雪崩。
1:在緩存失效后,通過加鎖或者隊列來控制讀數據庫寫緩存的線程數量。比如對某個key只允許一個線程查詢數據和寫緩存,其他線程等待。
2:做二級緩存,A1為原始緩存,A2為拷貝緩存,A1失效時,可以訪問A2,A1緩存失效時間設置為短期,A2設置為長期
3:不同的key,設置不同的過期時間,讓緩存失效的時間點盡量均勻。
4:如果緩存數據庫是分布式部署,將熱點數據均勻分布在不同搞得緩存數據庫中。
總結
- 上一篇: 性能建议(这里只针对单机版redis持久
- 下一篇: 为什么使用Maven