快取雪崩
指的是快取失效了,導致大量的請求直接訪問資料庫,資料庫壓力就大了,很容易發生宕機的情況,然後和資料庫相關的系統都受到了影響,這就是雪崩。快取失效->資料庫宕機->所有系統出現問題,連鎖反應。
快取失效原因:
1、redis集群大面積故障
2、快取過期
解決方案:
1、redis策略,redis高可用設計。
2、redis策略,在給快取加過期時間時,盡量錯峰,避免同一時間所有快取失效。
3、訪問資料庫策略,訪問資料庫時加鎖,單執行緒訪問,可能會導致系統響應慢,但不會導致資料庫宕機,也就保證高可用,但不能保證高效能和高併發。
4、架構策略,服務降級,保證核心功能,犧牲非核心功能。
Redis快取雪崩問題
由於快取層承載著大量請求,有效地保護了儲存層,但是如果快取層由於某些原因不能提供服務 大量的快取資料過期 於是所有的請求都會達到儲存層,儲存層的呼叫量會暴增,造成儲存層也會級聯宕機的情況。1 保證快取層服務高可用性。和飛機都有多個引擎一樣,如果快取層設計成高可用的,將熱點資料均勻分布在不同的伺服器中...
Redis 穿透 擊穿 雪崩問題
快取穿透 指快取和資料庫中都沒有的資料,導致所有的請求都打到資料庫上,然後資料庫還查不到 如null 造成資料庫短時間執行緒數被打滿而導致其他服務阻塞,最終導致線上服務不可用,這種情況一般來自黑客同學。key null,快取有效時間可以設定短點 快取擊穿 指快取中沒有但資料庫中有的資料 一般是熱點資...
Redis快取穿透 快取雪崩問題
穿透雪崩主要是因為查詢資料庫造成的,那麼讀寫分離,快取資料查詢失敗不去查資料庫就好了。查的時候有即是有,無即是無,不會再查資料庫,快取的穿透和雪崩問題就不存在了。其次新增資料庫和快取同步功能,保證資料庫和快取資料是一致的即可 需要注意的是這時候資料庫資料是有限和相對穩定的,其實如果是海量資料同時放入...