From ce7536df9f82833044c9cbc479f0de42de2beffe Mon Sep 17 00:00:00 2001 From: 抓蛙师 <770492966@qq.com> Date: 星期四, 14 七月 2022 19:15:17 +0800 Subject: [PATCH] !201 redission处理增加前缀 * redission处理判断无前缀则不处理 * redission处理增加前缀 --- ruoyi-framework/src/main/java/com/ruoyi/framework/handler/KeyPrefixHandler.java | 50 +++++++++++++++++++++++++ ruoyi-admin/src/main/resources/application-prod.yml | 2 + ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java | 3 + ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/RedissonProperties.java | 7 +++ ruoyi-admin/src/main/resources/application-dev.yml | 2 + 5 files changed, 63 insertions(+), 1 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index f9327f7..88bc3a6 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -138,6 +138,8 @@ ssl: false redisson: + # redis key鍓嶇紑 + keyPrefix: # 绾跨▼姹犳暟閲� threads: 4 # Netty绾跨▼姹犳暟閲� diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index a42f4ad..0987874 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -141,6 +141,8 @@ ssl: false redisson: + # redis key鍓嶇紑 + keyPrefix: # 绾跨▼姹犳暟閲� threads: 16 # Netty绾跨▼姹犳暟閲� diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java index 38a8718..30fff16 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.framework.config.properties.RedissonProperties; +import com.ruoyi.framework.handler.KeyPrefixHandler; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RedissonClient; import org.redisson.codec.JsonJacksonCodec; @@ -48,6 +49,7 @@ if (ObjectUtil.isNotNull(singleServerConfig)) { // 浣跨敤鍗曟満妯″紡 config.useSingleServer() + .setNameMapper(new KeyPrefixHandler(redissonProperties.getKeyPrefix()))//璁剧疆redis key鍓嶇紑 .setTimeout(singleServerConfig.getTimeout()) .setClientName(singleServerConfig.getClientName()) .setIdleConnectionTimeout(singleServerConfig.getIdleConnectionTimeout()) @@ -59,6 +61,7 @@ RedissonProperties.ClusterServersConfig clusterServersConfig = redissonProperties.getClusterServersConfig(); if (ObjectUtil.isNotNull(clusterServersConfig)) { config.useClusterServers() + .setNameMapper(new KeyPrefixHandler(redissonProperties.getKeyPrefix()))//璁剧疆redis key鍓嶇紑 .setTimeout(clusterServersConfig.getTimeout()) .setClientName(clusterServersConfig.getClientName()) .setIdleConnectionTimeout(clusterServersConfig.getIdleConnectionTimeout()) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/RedissonProperties.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/RedissonProperties.java index cd320eb..eab746c 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/RedissonProperties.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/RedissonProperties.java @@ -18,7 +18,12 @@ @Component @ConfigurationProperties(prefix = "redisson") public class RedissonProperties { - + + /** + * redis缂撳瓨key鍓嶇紑 + */ + private String keyPrefix; + /** * 绾跨▼姹犳暟閲�,榛樿鍊� = 褰撳墠澶勭悊鏍告暟閲� * 2 */ diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/KeyPrefixHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/KeyPrefixHandler.java new file mode 100644 index 0000000..ddfa064 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/KeyPrefixHandler.java @@ -0,0 +1,50 @@ +package com.ruoyi.framework.handler; + +import com.ruoyi.common.utils.StringUtils; +import org.redisson.api.NameMapper; + +/* + * redis缂撳瓨key鍓嶇紑澶勭悊 + * @author ye + * @create 2022/7/14 17:44 + */ +public class KeyPrefixHandler implements NameMapper { + + private final String keyPrefix; + + //鍓嶇紑涓虹┖ 鍒欒繑鍥炵┖鍓嶇紑 + public KeyPrefixHandler(String keyPrefix) { + this.keyPrefix = StringUtils.isBlank(keyPrefix) ? "" : keyPrefix + ":"; + } + + //澧炲姞鍓嶇紑 + @Override + public String map(String name) { + if (StringUtils.isBlank(name)) { + return null; + } + if (StringUtils.isBlank(keyPrefix)) { + return name; + } + if (!name.startsWith(keyPrefix)) { + return keyPrefix + name; + } else { + return name; + } + } + + //鍘婚櫎鍓嶇紑 + @Override + public String unmap(String name) { + if (StringUtils.isBlank(name)) { + return null; + } + if (StringUtils.isBlank(keyPrefix)) { + return name; + } + if (name.startsWith(keyPrefix)) { + return name.substring(keyPrefix.length()); + } + return name; + } +} -- Gitblit v1.9.3