“談談你對Redis的理解”!
面試的時候遇到這類比較寬泛的問題,是不是很抓狂?
是不是不知道從何開始說起?
沒關系,今天我用3分鐘教你怎么回答,
大家好,我是Mic,一個作業了14年的Java程式員,
這個問題面試官考察的目的是什么?希望得到什么樣的回答?
考察目標
對于某某技術的理解這一類問題,它是一種比較寬泛的問題
在面試程序中,考察這類問題有兩個很重要的目的:
-
在面試的程序中,面試官希望求職者能多說一些東西,從而更好的對你的整體情況和能力有一個清晰的判斷,因此這類問題,可以找到一些了解你的突破口,
-
這種問題其實沒有標準答案,更多的是基于你對它的理解的一個總結這反而能夠更好的考察你的技識訓累和邏輯表達能力,
所以,求職者在回答的程序中,需要盡可能邏輯清晰,簡單明了的表述出來,
否則很難得到認可,
問題決議
關于Redis是什么,想必大部分人都能脫口而出,
它是一個分布式快取中間件?可這樣回答有問題嗎?當然有
準確來說,Redis是一個基于記憶體實作的Key-Value資料結構的Nosql資料庫,
注意,這里有三個關鍵點,
- 記憶體存盤
- key-value結構
- Nosql
所謂記憶體存盤,是指所有資料是存盤在記憶體里面,資料的IO性能比較高,
當然,Redis也提供了持久化策略來避免記憶體資料丟失的問題key-value結構表示資料的存盤方式,除了redis以外,還有像LevelDB、Scalaris等,
而Nosql,它指的是一種非關系型資料庫,相比于傳統的關系型資料庫而言,
更多的考慮到擴展性、性能、大資料量的存盤等,彌補了關系型資料庫的短板像列式存盤ClickHouse、Cassandra; 檔案存盤MongoDB圖形存盤Neo4J等都是屬于Nosql范疇,
高手:
Redis是一個基于Key-Value存盤結構的Nosql開源記憶體資料庫,
它提供了5種常用的資料型別,String、Map、Set、ZSet、List,
針對不同的結構,可以解決不同場景的問題,
因此它可以覆寫應用開發中大部分的業務場景,比如top10問題、好友關注串列、熱點話題等,
其次,由于Redis是基于記憶體存盤,并且在資料結構上做了大量的優化所以IO性能比較好,在實際開發中,會把它作為應用與資料庫之間的一個分布式快取組件,
并且它又是一個非關系型資料的存盤,不存在表之間的關聯查詢問題,所以它可以很好的提升應用程式的資料IO效率,
最后,作為企業級開發來說,它又提供了主從復制+哨兵、以及集群方式實作高可用在Redis集群里面,通過hash槽的方式實作了資料分片,進一步提升了性能,
如果你喜歡我的作品,記得點贊收藏加關注!!!
需要Java面試資料、簡歷模板掃下方!
著作權宣告:本博客所有文章除特別宣告外,均采用 CC BY-NC-SA 4.0 許可協議,轉載請注明來自
Mic帶你學架構!
如果本篇文章對您有幫助,還請幫忙點個關注和贊,您的堅持是我不斷創作的動力,歡迎關注「跟著Mic學架構」公眾號公眾號獲取更多技術干貨!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/508982.html
標籤:Java
下一篇:自定義注解實作加解密及脫敏
