Ver código fonte

update 优化 redis序列化 支持更快的apache二进制跨语言序列化方案

疯狂的狮子Li 4 meses atrás
pai
commit
476c7a77c8

+ 1 - 0
ruoyi-admin/src/main/resources/application.yml

@@ -47,6 +47,7 @@ logging:
     org.dromara: @logging.level@
     org.dromara: @logging.level@
     org.springframework: warn
     org.springframework: warn
     org.mybatis.spring.mapper: error
     org.mybatis.spring.mapper: error
+    org.apache.fury: warn
   config: classpath:logback-plus.xml
   config: classpath:logback-plus.xml
 
 
 # 用户配置
 # 用户配置

+ 12 - 0
ruoyi-common/ruoyi-common-redis/pom.xml

@@ -42,6 +42,18 @@
             <groupId>com.fasterxml.jackson.datatype</groupId>
             <groupId>com.fasterxml.jackson.datatype</groupId>
             <artifactId>jackson-datatype-jsr310</artifactId>
             <artifactId>jackson-datatype-jsr310</artifactId>
         </dependency>
         </dependency>
+
+<!--        &lt;!&ndash; redis序列化替代方案 比json快无数的跨语言二进制序列化 &ndash;&gt;-->
+<!--        <dependency>-->
+<!--            <groupId>org.apache.fury</groupId>-->
+<!--            <artifactId>fury-core</artifactId>-->
+<!--            <version>0.9.0</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.slf4j</groupId>-->
+<!--            <artifactId>slf4j-api</artifactId>-->
+<!--        </dependency>-->
+
     </dependencies>
     </dependencies>
 
 
 </project>
 </project>

+ 3 - 0
ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java

@@ -53,6 +53,9 @@ public class RedisConfig {
             om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
             om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
             // 指定序列化输入的类型,类必须是非final修饰的。序列化时将对象全类名一起保存下来
             // 指定序列化输入的类型,类必须是非final修饰的。序列化时将对象全类名一起保存下来
             om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
             om.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
+//            LoggerFactory.useSlf4jLogging(true);
+//            FuryCodec furyCodec = new FuryCodec();
+//            CompositeCodec codec = new CompositeCodec(StringCodec.INSTANCE, furyCodec, furyCodec);
             TypedJsonJacksonCodec jsonCodec = new TypedJsonJacksonCodec(Object.class, om);
             TypedJsonJacksonCodec jsonCodec = new TypedJsonJacksonCodec(Object.class, om);
             // 组合序列化 key 使用 String 内容使用通用 json 格式
             // 组合序列化 key 使用 String 内容使用通用 json 格式
             CompositeCodec codec = new CompositeCodec(StringCodec.INSTANCE, jsonCodec, jsonCodec);
             CompositeCodec codec = new CompositeCodec(StringCodec.INSTANCE, jsonCodec, jsonCodec);