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

java面試:分布式

zset 所有 進程 優勢 分布式 per 系統 內存 字符串

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

未完待續

java面試:分布式