您好,登錄后才能下訂單哦!
@RedisLock(key = "自己定義一個(gè)key")
public int insert(){
return 1;
}
這個(gè)鎖會(huì)在事務(wù)開啟之前獲取,在事務(wù)提交以后解鎖,并且只對(duì)MarsBean有效,對(duì)API和DAO無(wú)效
如果你不需要鎖住整個(gè)方法,只需要鎖一小段代碼,那么可以用下面的方式
@MarsBean("testService")
public class TestService {
@MarsWrite("marsRedisLock")
private MarsRedisLock marsRedisLock;
}
Boolean haslock = marsRedisLock.lock("自己定義一個(gè)key");
if(haslock){
執(zhí)行加鎖后才能執(zhí)行的代碼
}
marsRedisLock.unlock("加鎖的時(shí)候傳入的那個(gè)key");
無(wú)論是用注解還是lock方法,如果沒(méi)有獲取到鎖,會(huì)等待20秒,20秒內(nèi)如果能獲取到鎖,則正常往下執(zhí)行,20秒內(nèi)沒(méi)獲取到鎖,則直接停止本次操作
lock方法 會(huì)返回true和false來(lái)表示有無(wú)獲取到鎖
鎖的有效時(shí)間為20秒,20秒以后會(huì)自動(dòng)解鎖
http://mars-framework.com/
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。