Просмотр исходного кода

add 添加redis 前缀用来区分数据源和服务

GITZYY 7 месяцев назад
Родитель
Сommit
ebb313587f

+ 1 - 1
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/FastJson2RedisSerializer.java → egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/FastJson2RedisSerializer.java

@@ -1,4 +1,4 @@
-package com.hrsk.cloud.eg.infrastructure.config;
+package com.hrsk.cloud.eg.infrastructure.config.redis;
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONReader;

+ 32 - 0
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/PrefixRedisSerializer.java

@@ -0,0 +1,32 @@
+package com.hrsk.cloud.eg.infrastructure.config.redis;
+
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: PrefixRedisSerializer
+ * @date 2024/9/10 13:50
+ */
+public class PrefixRedisSerializer extends StringRedisSerializer {
+    public static final String DEFUAL_PREFIX = "eg:";
+    @Override
+    public byte[] serialize(String s) {
+        if (s == null) {
+            return null;
+        }
+        // 这里加上你需要加上的key前缀
+        String realKey = DEFUAL_PREFIX + s;
+        return super.serialize(realKey);
+    }
+    @Override
+    public String deserialize(byte[] bytes) {
+        String s = bytes == null ? null : new String(bytes);
+        int index = s.indexOf(DEFUAL_PREFIX);
+        if (index != -1) {
+            return s.substring(index + 2);
+        }
+        return s;
+    }
+
+}

+ 3 - 3
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/RedisConfig.java → egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/RedisConfig.java

@@ -1,6 +1,6 @@
 
 
-package com.hrsk.cloud.eg.infrastructure.config;
+package com.hrsk.cloud.eg.infrastructure.config.redis;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -40,9 +40,9 @@ public class RedisConfig {
     @Bean
     public RedisTemplate<String, Object> redisTemplate() {
         RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
-        redisTemplate.setKeySerializer(new StringRedisSerializer());
+        redisTemplate.setKeySerializer(new PrefixRedisSerializer());
         redisTemplate.setValueSerializer(new FastJson2RedisSerializer<Object>(Object.class));
-        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
+        redisTemplate.setHashKeySerializer(new PrefixRedisSerializer());
         redisTemplate.setHashValueSerializer(new FastJson2RedisSerializer<Object>(Object.class));
         redisTemplate.setConnectionFactory(factory);
         return redisTemplate;

+ 1 - 1
egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/RedisKeys.java → egress-gateway-service-infrastructure/src/main/java/com/hrsk/cloud/eg/infrastructure/config/redis/RedisKeys.java

@@ -1,6 +1,6 @@
 
 
-package com.hrsk.cloud.eg.infrastructure.config;
+package com.hrsk.cloud.eg.infrastructure.config.redis;
 
 /**
  * @author yuanying

+ 42 - 0
start/src/test/java/RedisTest.java

@@ -0,0 +1,42 @@
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: RedisTest
+ * @date 2024/9/10 13:47
+ */
+
+import com.hrsk.cloud.eg.Application;
+import com.hrsk.cloud.eg.infrastructure.utils.RedisUtil;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+
+/**
+ * @author zhangyy
+ * @version 1.0
+ * @description: GenerateConfigTest
+ * @date 2024/9/9 15:13
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class RedisTest {
+
+
+    @Resource
+    private RedisUtil redisUtil;
+
+    @Test
+    public void setRedisUtil(){
+        redisUtil.set("key1", "value1");
+    }
+
+    @Test
+    public void getRedisUtil(){
+        System.out.println(redisUtil.get("key1"));
+    }
+}
+