redis 反序列化出错 :SerializationFailedException: Failed to deserialize payload

错误信息:

[ERROR] 2018-03-07 14:05:03,747 XXX - Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.StreamCorruptedException: invalid stream header: 6E756C6C

解决方案:

添加反序列化配置.

@Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        final RedisTemplate redisTemplate = new RedisTemplate();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        redisTemplate.setKeySerializer(new KeyRedisSerializer());
        redisTemplate.setValueSerializer(new FastJsonRedisValueSerializer(HibernateLazyLoadingFilter.getInstance()));
        return redisTemplate;

    }

序列化处理:

   

 public byte[] serialize(Object t) throws SerializationException {
        if(t == null) {
            return null;
        }
        
        return JSONObject.toJSONString(t, propertyFilter, SerializerFeature.WriteClassName).getBytes(IOUtils.UTF8);

    }

反序列化处理:

public T deserialize(byte[] bytes) throws SerializationException {
        if(bytes == null) {
            return null;
        }
        
        return (T)JSONObject.parse(bytes);
    }


  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值