Ver código fonte

新增获取安全的Redis过期时间工具方法

woody 1 ano atrás
pai
commit
d1b6bb3bb6

+ 11 - 0
framework-redis/src/main/java/com/chelvc/framework/redis/util/RedisUtils.java

@@ -6,6 +6,7 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -970,4 +971,14 @@ public class RedisUtils implements ApplicationContextAware {
         redisTemplate.afterPropertiesSet();
         return redisTemplate;
     }
+
+    /**
+     * 获取当前时间距过期时间的时长
+     *
+     * @param expiration 过期时间
+     * @return 持续时长
+     */
+    public static Duration duration(@NonNull Date expiration) {
+        return Duration.ofMillis(Math.max(expiration.getTime() - System.currentTimeMillis(), 1));
+    }
 }