家居在線設(shè)計平臺seo優(yōu)化報價
緩存擊穿、緩存穿透、緩存雪崩
緩存雪崩
解決辦法
1.設(shè)置緩存失效時間,不要在同一時間
2.redis集群部署
3.不設(shè)置緩存設(shè)置時間
4.定時刷緩存的時間
緩存穿透
- 請求不管返回什么數(shù)據(jù)都返回給redis
- 對參數(shù)合法器進行驗證,不合法的時候直接過濾掉
- 使用布隆過濾器
緩存擊穿-擊穿某一個熱點key
- 緩存永遠不過期(不推薦)
- 使用分布式鎖,單體應(yīng)用的話使用互斥鎖
請求數(shù)據(jù)庫的時候上一個鎖,只有一個線程能搶到這個鎖,所以只有一個線程能操作這個數(shù)據(jù)庫,其他沒有搶到鎖的線程讓他先睡上幾毫秒,再重新去redis里面去查詢