1.介面
public inte***ce distributedlocker2.實現
public class redissondistributedlocker implements distributedlocker3.工具@override
public rlock lock(string lockkey, int leasetime)
@override
public rlock lock(string lockkey, timeunit unit ,int timeout)
@override
public boolean
trylock(string lockkey, timeunit unit, int waittime, int leasetime) catch (interruptedexception e)
}@override
public void
unlock(string lockkey)
@override
public void
unlock(rlock lock)
public redissonclient getredissonclient()
public void
setredissonclient(redissonclient redissonclient)
}
public class redisslockutil4.bean/*** 加鎖
*@param
lockkey
*@return
*/public static rlock lock(string lockkey)
/*** 釋放鎖
*@param
lockkey
*/public static void
unlock(string lockkey)
/*** 釋放鎖
*@param
lock
*/public static void
unlock(rlock lock)
/*** 帶超時的鎖
*@param
lockkey
*@param
timeout
超時時間 單位:秒
*/public static rlock lock(string lockkey, int timeout)
/*** 帶超時的鎖
*@param
lockkey
*@param
unit
時間單位
*@param
timeout
超時時間
*/public static rlock lock(string lockkey, timeunit unit , int timeout)
/*** 嘗試獲取鎖
*@param
lockkey
*@param
waittime
最多等待時間
*@param
leasetime
上鎖後自動釋放鎖時間
*@return
*/public static boolean
trylock(string lockkey, int waittime, int leasetime)
/*** 嘗試獲取鎖
*@param
lockkey
*@param
unit
時間單位
*@param
waittime
最多等待時間
*@param
leasetime
上鎖後自動釋放鎖時間
*@return
*/public static boolean
trylock(string lockkey, timeunit unit, int waittime, int leasetime)
public static void
setredisslock(distributedlocker redisslock)
}
@beandistributedlocker distributedlocker(redissonclient redissonclient)
redisson分布式鎖
介面做冪等的方式很多,我們應用使用分布式鎖 插入明細來做冪等。但是發現冪等失效了,最終確認是業務執行尚未結束,還沒有插入明細。但是客戶端第二個訪問就來到了,此時呢,分布式鎖的時間也失效了。也就是兩個問題 1是業務執行為什麼很慢,這個就有很多種情況暫不考慮。考慮第二種情況,能不能加長分布式鎖的時間。由...
分布式鎖 redisson
1 匯入依賴 org.redissongroupid redissonartifactid 3.11.1version dependency 2 配置redisson configuration public class redissonconfig spring name cjs redisson...
redis分布式鎖redisson
原文 關於redisson的源 請參考官網 redisson官方講解參考 wiki e7 9b ae e5 bd 95 首先需要引入redisson org.springframework.bootgroupid spring boot starter data redisartifactid de...