面試Redis 快取併發 快取雪崩 快取穿透

2021-10-21 19:28:32 字數 1463 閱讀 9168

本文主要敘述快取併發,快取雪崩,快取穿透的問題以及解決方案。

話說回來,快取併發會帶來什麼危害

既然我們已經知道快取併發的的嚴重性,那如何解決

知道原因後,我們可以對照原因來設計解決方案了。

分布式鎖和redis高可用,其實是預防措施,這些應該是事前工作。如果現在快取併發確實已經發生了,能做的就是把這個模組服務的流量入口縮小,以免因這個模組服務流量過大把mysql直接打死,從而導致其他模組服務受到影響。如果是redis宕機了,先把流量入口縮小,然後趕緊重啟機器。

接下來,繼續講快取穿透

那快取穿透有什麼壞處呢

按照方**的套路繼續走

為什麼會出現快取穿透

說到資料校驗,這個事兒是特別重要的。尤其是在一些直接涉及到錢的服務中,資料校驗是巨重要的。如果不進行資料校驗,大公司的老闆就少一台賓利。小公司,就可能直接破產了。下面是大頭菜的同學所在公司的案例

不管如何,培養良好的開發習慣,能讓你受益終身。

快取雪崩的壞處

給資料庫極大壓力,甚至打垮資料庫,從而造成系統不能正常提供服務。

總結:如何你面試的時候,遇到這個問題,最好分情況回答,就是redis是否宕機。給面試官留下腦子清晰的印象。

快取擊穿,就是只有乙個key過期的快取雪崩。

全篇下來,幾乎都是按照遇到報錯——定位問題——分析問題——設計解決方案——解決問題方**來寫的。文中介紹了快取併發,快取穿透,快取雪崩的定義,危險,原因,解決方案。大頭菜希望你讀完這篇文章後,不僅能學會知識,更能掌握定位問題——分析問題——解決問題的方**。知識點,這些以後可能會忘,但方法掌握好後,方能見招拆招。

Redis快取穿透 快取併發 快取雪崩

一 快取穿透 1.產生原因 查詢方式是先查詢快取 如果快取不存在則查詢資料庫 將查詢的結果回寫到快取 穿透的概念是快取不存在的情況下查詢資料庫 高併發應用下可能造成資料庫壓力過大 2.解決方案 2.1 將對應的key為空的值也快取起來,減少資料庫的查詢 2.2 校驗key值的合法性 防止惡意攻擊 二...

Redis 快取穿透 快取併發 快取雪崩

快取穿透 快取併發 快取雪崩是常見的由於高併發而導致的快取問題。下面講解其產生原因和解決方案。快取穿透通常是由於惡意攻擊或無意造成的 快取併發是由於設計不足造成的 快取雪崩是由於大量快取同時失效造成的。三種問題都比較典型,是難以防範和解決的。下面講解其解決方案,以便在快取設計中進行參考。1 快取穿透...

Redis 十四 快取雪崩 快取穿透 快取併發

快取雪崩 資料未載入到快取中,或者快取同一時間大面積的失效,從而導致所有請求都去查資料庫,導致資料庫cpu和記憶體負載過高,甚至宕機。比如乙個雪崩的簡單過程 1 redis集群大面積故障 2 快取失效,但依然大量請求訪問快取服務redis 3 redis大量失效後,大量請求轉向到mysql資料庫 4...