ソースを参照

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

疯狂的狮子Li 1 年間 前
コミット
32facf7ebc

+ 1 - 0
config/nacos/application-common.yml

@@ -162,6 +162,7 @@ logging:
     com.alibaba.cloud.sentinel: warn
     org.mybatis.spring.mapper: error
     org.apache.dubbo.config: error
+    org.apache.fury: warn
     # 临时处理 spring 调整日志级别导致启动警告问题 不影响使用等待 alibaba 适配
     org.springframework.context.support.PostProcessorRegistrationDelegate: error
   config: classpath:logback-plus.xml

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

@@ -42,6 +42,18 @@
             <groupId>com.fasterxml.jackson.datatype</groupId>
             <artifactId>jackson-datatype-jsr310</artifactId>
         </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>
 
 </project>

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

@@ -53,6 +53,9 @@ public class RedisConfiguration {
             om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
             // 指定序列化输入的类型,类必须是非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);
             // 组合序列化 key 使用 String 内容使用通用 json 格式
             CompositeCodec codec = new CompositeCodec(StringCodec.INSTANCE, jsonCodec, jsonCodec);