先來回答這些面試題吧:
這次我們挑選一個面試題出來解析,待會會分享Redis複習知識點合集
01-什麼是緩存穿透?如何避免?什麼是緩存雪崩?何如避免?
緩存穿透
一般的緩存系統,都是按照key去緩存查詢,如果不存在對應的value,就應該去後端系統查找(比如DB)。一些惡意的請求會故意查詢不存在的key,請求量很大,就會對後端系統造成很大的壓力。這就叫做緩存穿透。
如何避免?
- 對查詢結果為空的情況也進行緩存,緩存時間設置短一點,或者該key對應的數據insert了之後清理緩存。
- 對一定不存在的key進行過濾。可以把所有的可能存在的key放到一個大的Bitmap中,查詢時通過該bitmap過濾。
緩存雪崩
當緩存服務器重啟或者大量緩存集中在某一個時間段失效,這樣在失效的時候,會給後端系統帶來很大壓力。導致系統崩潰。
如何避免?
- 在緩存失效後,通過加鎖或者隊列來控制讀數據庫寫緩存的線程數量。比如對某個key只允許一個線程查詢數據和寫緩存,其他線程等待。
- 做二級緩存,A1為原始緩存,A2為拷貝緩存,A1失效時,可以訪問A2,A1緩存失效時間設置為短期,A2設置為長期
- 不同的key,設置不同的過期時間,讓緩存失效的時間點儘量均勻。
徹底掌握Redis需要學習的知識點有哪些呢?
01-深入透徹完整解析REDIS腦圖
![去阿里面試被“Redis”狠虐?這些Redis知識點,你一定要知道!](http://p2.ttnews.xyz/loading.gif)
02-redis面試題答案解析
- redis過期策略都有哪些? LRU算法知道嗎?寫-下java代碼實現?
- 使用redis如何設計分佈式鎖?說一下實現思路? 使用zk可以嗎?如何實現?這兩種有什麼區別?
- redis主從複製如何實現的? redis 的集群檔式如何實現? redis 的key是如何尋址的?
- Redis的數據淘汰策略有哪些
- ......
![去阿里面試被“Redis”狠虐?這些Redis知識點,你一定要知道!](http://p2.ttnews.xyz/loading.gif)
redis面試題答案解析
03-Redis深度歷險核心原理和應用實踐PDF
所謂「授人以魚不若授人以漁」,本小冊的初衷和目標就是幫助後端開發者較為深入的理解Redis背後的原理和實踐經驗,做到知其然也知其所以然,為未來進階成長為架構師做好準備。
Redis深度歷險核心原理和應用實踐PDF
Redis深度歷險核心原理和應用實踐PDF
Redis深度歷險核心原理和應用實踐PDF
如果您需要這份學習路線圖+redis面試知識點+Redis深度歷險核心原理和應用實踐PDF的話,我已經打包好成一份文檔了,轉發+關注之後私信回覆(Redis)來免費獲取到吧!
閱讀更多 Java大數據高級架構師 的文章