Commit 2ad120c4 by 姜海波

预约单

parent 731cade8
......@@ -13,10 +13,14 @@ public class LockUtils {
private static String redis_lock_after="saas:lockAfter:";
public static Boolean lockAfter(RedisTemplate redisTemplate,String afterId){
return lock(redisTemplate,redis_lock_after+afterId);
return redisLock(redisTemplate,redis_lock_after+afterId);
}
private static boolean lock(RedisTemplate redisTemplate,String key){
public static Boolean lock(RedisTemplate redisTemplate,String key,Long second){
return redisLockByTime(redisTemplate,key,second);
}
private static boolean redisLock(RedisTemplate redisTemplate,String key){
String lock = key;
// 利用lambda表达式
return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
......@@ -32,4 +36,21 @@ public class LockUtils {
});
}
private static boolean redisLockByTime(RedisTemplate redisTemplate,String key,Long second){
String lock = key;
Long lockSecond = second;
// 利用lambda表达式
return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
long expireAt = second;
Boolean acquire = connection.setNX(lock.getBytes(), String.valueOf(expireAt).getBytes());
if (acquire) {
connection.expire(lock.getBytes(),expireAt);
return true;
} else {
return false;
}
});
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment