緩存雪崩 和 緩存穿透 問題及解決方案----->(淺談)

緩存雪崩: 緩存同一時間大面積的失效,所以後面的請求都會落到數據庫上,造成數據庫短時間內承受大量請求而崩掉

解決方案: 事前:儘量保證整個redis集羣的高可用性,發現機器宕機儘快補上

                事中:本地ehcache緩存+hystrix限流&降級,避免MySQL崩掉

                事後:利用redis持久化機制保存的數據儘快恢復緩存

緩存穿透: 簡答點說就是大量請求的Key根本不存在於緩存中,導致請求直接到了數據庫上,根本沒有經過緩存這一次層.

解決方案: 最基本的就是首先做好參數校驗,一些不合法的參數請求直接拋出異常信息返回給客戶端.比如查詢的數據庫id不能小於0,傳入的郵箱格式不對的時候直接返回錯誤消息給客戶端等等.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章