1. 程式人生 > >java面試:分散式

java面試:分散式

redis

Q:redis有哪些優勢?

(1) 速度快,因為資料存在記憶體中

(2) 支援豐富資料型別,支援string,list,set,sorted set,hash

(3) 支援事務,操作都是原子性,所謂的原子性就是對資料的更改要麼全部執行,要麼全部不執行

(4) 豐富的特性:可用於快取,訊息,按key設定過期時間,過期後將會自動刪除
(5)單執行緒,單程序,採用IO多路複用技術。
Q:redis的持久化方式有哪些?
aof,就是備份操作記錄。
rdb,就是備份所有資料,使用了快照。
Q:redis支援哪些資料結構?
string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。
Q:redis如何實現分散式鎖?


使用setnx命令。
setnx key value,當key不存在時,將 key 的值設為 value ,返回1。若給定的 key 已經存在,則setnx不做任何動作,返回0。
當setnx返回1時,表示獲取鎖,做完操作以後del key,表示釋放鎖,如果setnx返回0表示獲取鎖失敗
**Q:redis實現的分散式鎖,如果某個系統獲取鎖後,宕機了怎麼辦?

zookeeper

kafka

未完待續