1、redis為什麼是key,value的,為什麼不是支援sql的?
這題第一眼看到有點懵逼
選擇key-value的原因:key-value簡單粗暴,使用方便?效率更佳?
為什麼不支援sql:
因為redis的記憶體模型是乙個hashtable,不使用表來儲存資料,也不會預定義或強制要求使用者對redis儲存的不同資料進行關聯。
2、redis是多執行緒還是單執行緒?
redis中io多路復用器模組是單執行緒執行,事件處理器也是單執行緒執行,兩個執行緒不一樣。所以實際redis應該是單程序多執行緒,只是不同的模組都用的單執行緒實現。
兩個維度來舉例:
(1)若是client傳送命令到server的話,server處理命令是單執行緒逐條進行的。
(2)server內部可以是多執行緒的,比如aof持久化,假設策略每秒,那就是再單獨開啟乙個執行緒去執行aof檔案持久化操作,這就是多執行緒了。
3、redis的持久化開啟了rdb和aof下重啟服務是如何載入的?
優先aof,aof沒找到的話再找rdb,因為aof檔案的資料要全於rdb。
徹底搞懂redis持久化之rdb原理
徹底搞懂redis持久化之aof原理
redis持久化之rdb與aof對比總結
4、redis如果做集群該如何規劃?akf/cap如何實現和設計?
參考redis各種部署方式的優缺點來決定。
如果希望快速部署,那麼可以考慮單節點部署方式。
如果只需要考慮可靠性,那麼可以考慮主從複製模式。
如果想要保證高可用,不需要考慮儲存成本可以考慮哨兵模式。
如果想提高集群的擴充套件性和可用性,不要求保證資料的強一致性,且沒有批量操作,那麼可以考慮集群模式。
大白話**結合的方式講解什麼是cap
akf分為三個維度:xyz軸,具體google…
5、10萬使用者一年365天的登入情況如何用redis儲存,並快速檢索任意時間窗內的活躍使用者?
bitmap,直接看下文會大徹大悟。
redis的bitmap從基礎到業務
6、redis的5種value型別你用過幾種,能舉例嗎?
string、list、set、sorted_set、hash,大家都懂,不想寫一堆廢話來舉例。說下原理吧
string:int、raw、embstr
list:ziplist、linkedlist
hash:ziplist、hashtable
set:intset、hashtable
sorted set:ziplist、skiplist+dict
7、100萬併發4g資料,10萬併發400g資料,如何設計redis儲存方式?
我膚淺的理解為:
前者用主從+哨兵進行高可用,加快讀請求的速度,減輕單節點的壓力。
一文掌握redis的主從複製原理到實戰
一文掌握redis的哨兵sentinel原理到實戰
後者用集群來均分這400g資料。 但是感覺不是面試官想要的答案。
10000、特別說明
Redis吊打面試官的經典面試題整理
1 redis為什麼是key,value的,為什麼不是支援sql的?這題第一眼看到有點懵逼 選擇key value的原因 key value簡單粗暴,使用方便?效率更佳?為什麼不支援sql 因為redis的記憶體模型是乙個hashtable,不使用表來儲存資料,也不會預定義或強制要求使用者對redi...
Redis吊打面試官的經典面試題整理
1 redis為什麼是key,value的,為什麼不是支援sql的?這題第一眼看到有點懵逼 選擇key value的原因 key value簡單粗暴,使用方便?效率更佳?為什麼不支援sql 因為redis的記憶體模型是乙個hashtable,不使用表來儲存資料,也不會預定義或強制要求使用者對redi...
吊打面試官 hashMap
hashmap 知識點 hashmap是什麼?hashmap是用來儲存key value鍵值對的集合類 它具有儲存效率高,查詢速度快的特點。hashmap的底層實現原理是什麼?hashmap底層是基於 陣列 鍊錶 紅黑樹 結構來實現的,陣列元素採用node節點來儲存key value鍵值對的資訊。h...