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