自开发redis锁

2018-12-14  本文已影响0人  听一首老歌

public static boolean lock(SimpleRedisClient simpleRedisClient, String lockKey,int lockSeconds,int retryTimes) {

while(retryTimes-- >0) {

if(!isLock(simpleRedisClient, lockKey)) {

// 原子操作

if(simpleRedisClient.incr(lockKey,1, lockSeconds).intValue() ==1) {

return true;

}

simpleRedisClient.decr(lockKey,1, lockSeconds);

}

try {

Thread.sleep(100L);

}catch (InterruptedException var5) {

logger.error(var5.getMessage(), var5);

}

}

return false;

}

上一篇 下一篇

猜你喜欢

热点阅读