diff --git a/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/config/YudaoCacheProperties.java b/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/config/YudaoCacheProperties.java index 5b217f61f..c51219d0f 100644 --- a/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/config/YudaoCacheProperties.java +++ b/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/config/YudaoCacheProperties.java @@ -7,15 +7,21 @@ import org.springframework.validation.annotation.Validated; /** * Cache 配置项 * - * @author + * @author Wanwan */ @ConfigurationProperties("yudao.cache") @Data @Validated public class YudaoCacheProperties { + /** + * {@link #redisScanBatchSize} 默认值 + */ + private static final Integer REDIS_SCAN_BATCH_SIZE_DEFAULT = 30; + /** * redis scan 一次返回数量 */ - private Integer redisScanBatchSize = 30; + private Integer redisScanBatchSize = REDIS_SCAN_BATCH_SIZE_DEFAULT; + } diff --git a/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/core/TimeoutRedisCacheManager.java b/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/core/TimeoutRedisCacheManager.java index 4de7fe57c..bf34fc081 100644 --- a/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/core/TimeoutRedisCacheManager.java +++ b/yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/core/TimeoutRedisCacheManager.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.framework.redis.core; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; -import org.springframework.boot.convert.DurationStyle; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.cache.RedisCache; import org.springframework.data.redis.cache.RedisCacheConfiguration; @@ -10,12 +9,12 @@ import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.cache.RedisCacheWriter; import java.time.Duration; -import java.time.temporal.ChronoUnit; /** * 支持自定义过期时间的 {@link RedisCacheManager} 实现类 - *
- * 在 {@link Cacheable#cacheNames()} 格式为 "key#ttl" 时,# 后面的 ttl 为过期时间,单位为最后一个字母(支持的单位有:d天,h小时,m分钟,s秒),默认单位为秒 + * + * 在 {@link Cacheable#cacheNames()} 格式为 "key#ttl" 时,# 后面的 ttl 为过期时间。 + * 单位为最后一个字母(支持的单位有:d 天,h 小时,m 分钟,s 秒),默认单位为 s 秒 * * @author 芋道源码 */ @@ -50,34 +49,35 @@ public class TimeoutRedisCacheManager extends RedisCacheManager { } /** - * 解析 Duration + * 解析过期时间 Duration * - * @param ttlStr - * @return + * @param ttlStr 过期时间字符串 + * @return 过期时间 Duration */ private Duration parseDuration(String ttlStr) { String timeUnit = StrUtil.subSuf(ttlStr, -1); switch (timeUnit) { case "d": - return Duration.ofDays(removeSuffix(ttlStr)); + return Duration.ofDays(removeDurationSuffix(ttlStr)); case "h": - return Duration.ofHours(removeSuffix(ttlStr)); + return Duration.ofHours(removeDurationSuffix(ttlStr)); case "m": - return Duration.ofMinutes(removeSuffix(ttlStr)); + return Duration.ofMinutes(removeDurationSuffix(ttlStr)); case "s": - return Duration.ofSeconds(removeSuffix(ttlStr)); + return Duration.ofSeconds(removeDurationSuffix(ttlStr)); default: return Duration.ofSeconds(Long.parseLong(ttlStr)); } } /** - * 移除多余的后缀 + * 移除多余的后缀,返回具体的时间 * - * @param ttlStr - * @return + * @param ttlStr 过期时间字符串 + * @return 时间 */ - private Long removeSuffix(String ttlStr) { + private Long removeDurationSuffix(String ttlStr) { return NumberUtil.parseLong(StrUtil.sub(ttlStr, 0, ttlStr.length() - 1)); } + } diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index 54c817872..3bc4d5e62 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -204,8 +204,6 @@ yudao: order: app-id: 1 # 商户编号 expire-time: 2h # 支付的过期时间 - cache: # spring cache 相关配置 - redis-scan-batch-size: 30 # redis scan 一次返回数量 debug: false