From 4d7ce8fd11652175dedc76695e76f3990f53ba9c Mon Sep 17 00:00:00 2001 From: Lucien_Lu Date: Sat, 26 Oct 2024 23:28:14 +0800 Subject: [PATCH 1/4] =?UTF-8?q?update:=E6=9B=BF=E6=8D=A2RedisUtils?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=BA=9F=E5=BC=83=E6=96=B9=E6=B3=95getKeysSt?= =?UTF-8?q?reamByPattern=E5=8F=8AtrySetRate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/redis/utils/RedisUtils.java | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java index 6fa3b7485..1ee4279c0 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java @@ -4,6 +4,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.dromara.common.core.utils.SpringUtils; import org.redisson.api.*; +import org.redisson.api.options.KeysScanOptions; import java.time.Duration; import java.util.Collection; @@ -37,7 +38,7 @@ public class RedisUtils { */ public static long rateLimiter(String key, RateType rateType, int rate, int rateInterval) { RRateLimiter rateLimiter = CLIENT.getRateLimiter(key); - rateLimiter.trySetRate(rateType, rate, rateInterval, RateIntervalUnit.SECONDS); + rateLimiter.trySetRate(rateType, rate, Duration.ofSeconds(rateInterval)); if (rateLimiter.tryAcquire()) { return rateLimiter.availablePermits(); } else { @@ -518,12 +519,33 @@ public class RedisUtils { /** * 获得缓存的基本对象列表(全局匹配忽略租户 自行拼接租户id) - * + *

+ * limit-设置扫描的限制数量(默认为0,查询全部) + * pattern-设置键的匹配模式(默认为null) + * chunkSize-设置每次扫描的块大小(默认为0,本方法设置为1000) + * type-设置键的类型(默认为null,查询全部类型) + *

+ * @see KeysScanOptions * @param pattern 字符串前缀 * @return 对象列表 */ public static Collection keys(final String pattern) { - Stream stream = CLIENT.getKeys().getKeysStreamByPattern(pattern); + return keys(KeysScanOptions.defaults().pattern(pattern).chunkSize(1000)); + } + + /** + * 通过扫描参数获取缓存的基本对象列表 + * @param KeysScanOptions 扫描参数 + *

+ * limit-设置扫描的限制数量(默认为0,查询全部) + * pattern-设置键的匹配模式(默认为null) + * chunkSize-设置每次扫描的块大小(默认为0) + * type-设置键的类型(默认为null,查询全部类型) + *

+ * @see KeysScanOptions + */ + public static Collection keys(final KeysScanOptions KeysScanOptions) { + Stream stream = CLIENT.getKeys().getKeysStream(KeysScanOptions); return stream.collect(Collectors.toList()); } From 9b8f4688d3a085a3c91cb9703b448b9d11f7c824 Mon Sep 17 00:00:00 2001 From: Lucien_Lu Date: Sun, 27 Oct 2024 11:05:57 +0000 Subject: [PATCH 2/4] =?UTF-8?q?update=20ruoyi-common/ruoyi-common-redis/sr?= =?UTF-8?q?c/main/java/org/dromara/common/redis/utils/RedisUtils.java.=20f?= =?UTF-8?q?ix:=20=E5=8F=98=E9=87=8F=E5=90=8D=E4=BF=AE=E6=94=B9stream->keys?= =?UTF-8?q?Stream?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lucien_Lu --- .../main/java/org/dromara/common/redis/utils/RedisUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java index 1ee4279c0..7382333aa 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java @@ -545,8 +545,8 @@ public class RedisUtils { * @see KeysScanOptions */ public static Collection keys(final KeysScanOptions KeysScanOptions) { - Stream stream = CLIENT.getKeys().getKeysStream(KeysScanOptions); - return stream.collect(Collectors.toList()); + Stream keysStream = CLIENT.getKeys().getKeysStream(KeysScanOptions); + return keysStream.collect(Collectors.toList()); } /** From a745fde6dea595161d9c005c4ba5cd167434d9a7 Mon Sep 17 00:00:00 2001 From: Lucien_Lu Date: Sun, 27 Oct 2024 11:11:09 +0000 Subject: [PATCH 3/4] update ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java. Signed-off-by: Lucien_Lu --- .../main/java/org/dromara/common/redis/utils/RedisUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java index 7382333aa..aadef499c 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java @@ -544,8 +544,8 @@ public class RedisUtils { *

* @see KeysScanOptions */ - public static Collection keys(final KeysScanOptions KeysScanOptions) { - Stream keysStream = CLIENT.getKeys().getKeysStream(KeysScanOptions); + public static Collection keys(final KeysScanOptions keysScanOptions) { + Stream keysStream = CLIENT.getKeys().getKeysStream(keysScanOptions); return keysStream.collect(Collectors.toList()); } From c32e2c0c5ba66b442bb07221589639c62d5f1500 Mon Sep 17 00:00:00 2001 From: Lucien_Lu Date: Sun, 27 Oct 2024 11:26:32 +0000 Subject: [PATCH 4/4] =?UTF-8?q?update=20ruoyi-common/ruoyi-common-redis/sr?= =?UTF-8?q?c/main/java/org/dromara/common/redis/utils/RedisUtils.java.=20f?= =?UTF-8?q?ix:=20=E5=8F=98=E9=87=8F=E5=90=8D=E5=A4=A7=E5=B0=8F=E5=86=99?= =?UTF-8?q?=E9=94=99=E8=AF=AFKeysScanOptions->keysScanOptions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/dromara/common/redis/utils/RedisUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java index aadef499c..a0efde600 100644 --- a/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java +++ b/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java @@ -535,7 +535,7 @@ public class RedisUtils { /** * 通过扫描参数获取缓存的基本对象列表 - * @param KeysScanOptions 扫描参数 + * @param keysScanOptions 扫描参数 *

* limit-设置扫描的限制数量(默认为0,查询全部) * pattern-设置键的匹配模式(默认为null)