소스 검색

add 新增 RedisUtils.setObjectIfAbsent 如果不存在则设置 方法

疯狂的狮子Li 2 년 전
부모
커밋
cd6bfb2a3a
1개의 변경된 파일12개의 추가작업 그리고 0개의 파일을 삭제
  1. 12 0
      ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java

+ 12 - 0
ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java

@@ -129,6 +129,18 @@ public class RedisUtils {
         batch.execute();
     }
 
+    /**
+     * 如果不存在则设置 并返回 true 如果存在则返回 false
+     *
+     * @param key   缓存的键值
+     * @param value 缓存的值
+     * @return set成功或失败
+     */
+    public static <T> boolean setObjectIfAbsent(final String key, final T value, final Duration duration) {
+        RBucket<T> bucket = CLIENT.getBucket(key);
+        return bucket.setIfAbsent(value, duration);
+    }
+
     /**
      * 注册对象监听器
      * <p>