Browse Source

优化锁机制

WANG 6 năm trước cách đây
mục cha
commit
efb1251668

+ 1 - 1
src/main/java/cn/com/qmth/examcloud/web/helpers/SequenceLockHelper.java

@@ -76,7 +76,7 @@ public class SequenceLockHelper {
 	 */
 	public static void releaseLock(Object... args) {
 		String key = LOCK_PREFIX + StringUtils.join(Arrays.asList(args), "_");
-		getRedisClient().delete(key);
+		getRedisClient().expire(key, 1);
 		@SuppressWarnings("unchecked")
 		List<String> keyList = (List<String>) ServletUtil.getRequest()
 				.getAttribute(HttpServletRequestAttribute.$_CUSTOM_SEQUENCE_LOCK.name());

+ 1 - 1
src/main/java/cn/com/qmth/examcloud/web/interceptor/SeqlockInterceptor.java

@@ -119,7 +119,7 @@ public class SeqlockInterceptor implements HandlerInterceptor {
 
 		Object key = request.getAttribute(LOCK_ATTRIBUTE);
 		if (null != key) {
-			redisClient.delete((String) key);
+			redisClient.expire((String) key, 1);
 		}
 	}
 

+ 1 - 1
src/main/java/cn/com/qmth/examcloud/web/support/ControllerAspect.java

@@ -156,7 +156,7 @@ public class ControllerAspect {
 						.getAttribute(HttpServletRequestAttribute.$_CUSTOM_SEQUENCE_LOCK.name());
 				if (CollectionUtils.isNotEmpty(keyList)) {
 					for (String key : keyList) {
-						redisClient.delete(key);
+						redisClient.expire(key, 1);
 					}
 				}
 			}