fastjson 序列化 不包括转义字符_Spring Boot Redis 序列化方案的选择

本文探讨了Redis序列化方案的选择,重点关注Spring Boot Redis中自定义JSON序列化,如FastJsonRedisSerializer。通过性能对比,发现FST和Kryo在体积和速度上优于Fastjson,但需要预先注册对象且Kryo线程不安全。此外,文章提到了Dubbo中序列化的实现,如FstFactory和Kryo,强调了预注册对象对性能的影响。
摘要由CSDN通过智能技术生成

本文同步Java知音社区,专注于Java

作者:小哥他三叔

http://juejin.im/post/5d5e10d2e51d4561b416d487

Redis的使用越来越广泛,当遇见性能瓶颈时,我们应该如何去解决呢?

Redis序列化方案

Spring Boot Redis

Spring Boot Data Redis给我们提供了即插即用的体验,大部分默认配置已经满足了我们的需求,而其中序列化方案选择的是原生的JdkSerializationRedisSerializer

RedisTemplate.java

if (defaultSerializer == null) {

 defaultSerializer = new JdkSerializationRedisSerializer(
   classLoader != null ? classLoader : this.getClass().getClassLoader());
}

当然,我们也可以选择Spring Boot Data Redis的其他序列化方案进行配置。

RedisSerializer的实现

97bda45696d64e8934bce61f4d1d431d.png

在此基础上,我们可以自定义我们自己的序列化方案。

自定义JSON序列化方案

FastJsonRedisSerializer.java

public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {
    private FastJsonConfig fastJsonConfig = new FastJsonConfig();
    private Class<T> type;

    public FastJsonRedisSerializer(Class<T> type) {
        this.type = type;
    }

    public FastJsonConfig getFastJsonConfig() {
        return fastJsonConfig;
    }

    public void setFastJsonConfig(FastJsonConfig fastJsonConfig) {
        this.fastJsonConfig =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值