redis常用面試題總結

2021-08-31 20:47:40 字數 901 閱讀 7107

jedis jedis = new jedis(string, int);

pipeline p = jedis.pipelined();

p.set(key,value);//每個操作都傳送請求給redis-server

p.get(key,value);

p.sync();//這段**獲取所有的response

管道通過一次性寫入請求,然後一次性讀取響應。也就是說jedis是:request response,request response,…;pipeline則是:request request… response response的方式。這樣無需每次請求都等待server端的響應。

(5)分布式鎖實現

1. 通過jedis.setnx(key,value)實現

2. 通過事務(multi)實現

public boolean lock_2(long timeout)

// 短暫休眠,nano避免出現活鎖

thread.sleep(3, r.nextint(500));

}} catch (exception e)

return false;

} 3. 通過事務+監聽實現

val = get mykey

val = val + 1

set mykey $val

以上**只有在單連線的情況下才可以保證執行結果是正確的,因為如果在同一時刻有多個客戶端在同時執行該段**,那麼就會出現多執行緒程式中經常出現的一種錯誤場景–競態爭用(race condition)。比如,客戶端a和b都在同一時刻讀取了mykey的原有值,假設該值為10,此後兩個客戶端又均將該值加一後set回redis伺服器,這樣就會導致mykey的結果為11,而不是我們認為的12。為了解決類似的問題,我們需要借助watch命令的幫助,見如下**:

redis面試題總結

1 速度快,因為資料存在記憶體中,類似於hashmap,hashmap的優勢就是查詢和操作的時間複雜度都是o 1 2 支援豐富資料型別,支援string,list,set,sorted set,hash 3 支援事務,操作都是原子性,所謂的原子性就是對資料的更改要麼全部執行,要麼全部不執行 4 豐富...

Redis近期面試題總結

筆者去年12月中旬開始面試,面了很多大廠,有很多問題,原理掌握不牢,因此藉此對redis做乙個覆盤和總結,除了hyperloglog和geo的資料結構沒有實踐過,其他的都大概了解,簡單 模擬了一些場景。由此對我所經歷的面過redis的問題做乙個彙總。7.redis有幾種部署 架構模式 模式 主自如,...

面試題總結 html面試題)

附上鏈結 doctype 的作用是什麼?宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來 進行文件解析,否則就以相容模式進行解析。在標準模式下,瀏覽器的解析規則都是按照最新的標準進行解析的。而在相容模式下,瀏 覽器會以向後相容的方式來模擬老式瀏...