關於redis的一些面試題

2022-05-23 09:03:10 字數 972 閱讀 3253

一.使用redis有哪些好處?

1.速度快,因為資料是存在記憶體中的。

2.支援豐富的資料型別,string,list,set,sorted set,hash

3.支援事務,操作都有原子性,也就是對陣列的更改要麼不執行,要麼全部執行。

4.豐富的特性:可用於快取,訊息,按key設定過期時間,過期後自動刪除。

二.redis相比memcached有哪些優勢

1.memcached所有的值均是簡單的字串,redis作為代替者支援更加豐富的特性

2.redis的速度比memcached的快得多

3.redis可以持久化資料

三.mysql裡面有2000萬條資料,redis中只存20w資料,如何保證redis中的資料都是熱點資料。

redis記憶體資料集大小上公升到了一定大小的時候,就會實行資料淘汰策略。

redis有六種資料淘汰策略:

1.volatile-lru:從已設定過期時間的資料集(sever.db[i].expires)中挑選最近最少使用的資料進行淘汰。

2.volatile-ttl:從已設定過期時間的資料集(sever.db[i].expires)中挑選將要過期的資料進行淘汰掉。

四.memcache和redis的區別?

1.儲存方式,

memcache把資料全部儲存在記憶體之中,斷電後會掛掉,資料不能超過記憶體的大小

redis有部分儲存在硬碟中,這樣能保證資料的永續性。

2.資料的支援型別

memcache對資料型別的支援非常簡單,只是string

redis支援的資料型別非常豐富,string,list,set,sorted set,hash.

3.使用底層模式不一樣

使用到通訊模式不一樣,redis直接構建了vm機制,因為一般的系統呼叫系統函式的話,會浪費一定的時間去移動和請求。

4.value的大小不一樣

redis最大可以達到1g,而memcache只有1m

關於JDBC的一些面試題

1.statement prestatement有什麼區別 解答 後者的效率比前者高,在使用preparedstatement物件執行sql命令時,命令被資料庫進行編譯和解析,然後被放到命令緩衝區。然後,每當執行同乙個preparedstatement物件時,它就會被再解析一次,但不會被再次編譯。在...

一些面試題(關於string的)

一些常見的面試題 string a hello2 string b hello 2 system.out.println a b a b輸出true。很明顯b在編譯時就被優化成 hello2 因此在執行期間,a和b指向的是統一物件 string a hello2 string b hello str...

關於Shell的一些面試題

shell指令碼 shell指令碼是什麼,是必須的嗎?乙個shell指令碼是乙個文字檔案,包含乙個或多個命令的檔案。作為系統管理員,我們經常使用多個命令來完成一項任務,我們可以新增這些命令在乙個文字檔案 shell指令碼,字尾為.sh 來完成這些日常工作。什麼是預設登入shell?bin bash ...