@RedisLock(key = "自己定义一个key")
public int insert(){
return 1;
}
这个锁会在事务开启之前获取,在事务提交以后解锁,并且只对MarsBean有效,对API和DAO无效
如果你不需要锁住整个方法,只需要锁一小段代码,那么可以用下面的方式
@MarsBean("testService")
public class TestService {
@MarsWrite("marsRedisLock")
private MarsRedisLock marsRedisLock;
}
Boolean haslock = marsRedisLock.lock("自己定义一个key");
if(haslock){
执行加锁后才能执行的代码
}
marsRedisLock.unlock("加锁的时候传入的那个key");
无论是用注解还是lock方法,如果没有获取到锁,会等待20秒,20秒内如果能获取到锁,则正常往下执行,20秒内没获取到锁,则直接停止本次操作
lock方法 会返回true和false来表示有无获取到锁
锁的有效时间为20秒,20秒以后会自动解锁
http://mars-framework.com/
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。