互聯網通用架構技術----緩存雪崩

緩存併發

若是查詢緩存key,不存在就加鎖,去DB查找以後解鎖;其餘進行發現有鎖以後進行等待,可是這種方式會形成鎖等待。數據庫

緩存失效

高併發時,因爲大量的key設置了相同的過時時間,致使某一時間大量key過時形成數據庫壓力,能夠經過設置超時時間加上1-5分鐘的隨機時間,避免集體失效。緩存

緩存雪崩

緣由是某一時間,key未更新到緩存中大量請求壓如數據庫致使宕機。解決方案:併發

  1. 採用加鎖計數(參考緩存併發),能夠緩解數據庫壓力,可是作成系統的吞吐量。
  2. 能夠給用戶返回默認值(可理解爲優雅降級)。
  3. 將默認值請求放入隊列,下次較快查緩存。
  4. 採用緩存預熱,加一個服務去跑預熱數據到緩存中。
相關文章
相關標籤/搜索