欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

redisson分布式鎖原理講解

錢艷冰2年前23瀏覽0評論

redisson分布式鎖原理講解?

1、加鎖機制

線程去獲取鎖,獲取成功: 執行lua腳本,保存數據到redis數據庫。

線程去獲取鎖,獲取失敗: 一直通過while循環嘗試獲取鎖,獲取成功后,執行lua腳本,保存數據到redis數據庫。

2、watch dog自動延期機制

這個比較難理解,找了些許資料感覺也并沒有解釋的很清楚。這里我自己的理解就是:

在一個分布式環境下,假如一個線程獲得鎖后,突然服務器宕機了,那么這個時候在一定時間后這個鎖會自動釋放,你也可以設置鎖的有效時間(不設置默認30秒),這樣的目的主要是防止死鎖的發生。

3、為啥要用lua腳本呢?

這個不用多說,主要是如果你的業務邏輯復雜的話,通過封裝在lua腳本中發送給redis,而且redis是單線程的,這樣就保證這段復雜業務邏輯執行的原子性 。

java 線程 原子性,redisson分布式鎖原理講解