فهرست منبع

分布式锁优化

dengsixing 2 سال پیش
والد
کامیت
a9c7ddd504

+ 3 - 3
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -1649,9 +1649,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         if(exist){
             return;
         }
-        String uuid = cn.hutool.core.lang.UUID.randomUUID().toString();
+//        String uuid = cn.hutool.core.lang.UUID.randomUUID().toString();
         String lockKey = String.format(RedisLockKey.LOCK_MOSAIC_DATA_SYNC, num);
-        boolean lock = redisLockUtil.lock(lockKey, uuid, RedisKey.EXPIRE_TIME_1_MINUTE);
+        boolean lock = redisLockUtil.lock(lockKey, RedisKey.EXPIRE_TIME_1_MINUTE);
         if(!lock){
             throw new BusinessException(ErrorCode.SYSTEM_BUSY);
         }
@@ -1676,7 +1676,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             }
             redisUtil.hmset(key, map);
         }finally {
-            redisLockUtil.unlockLua(lockKey, uuid);
+            redisLockUtil.unlockLua(lockKey);
         }
     }
 

+ 2 - 1
src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -65,6 +65,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
+import org.redisson.Redisson;
+import org.redisson.RedissonLock;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
@@ -525,7 +527,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
         }
 
-
         //从redis中移除热点数据
         redisUtil.hdel(key, deleteSidList.toArray());
     }