springboot(22)修改RedisTemplate序列化工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sz85850597/article/details/82260501

使用其他序列化替代jdk序列化

@Configuration
public class RedisConfig {

    @Autowired
    private RedisConnectionFactory connectionFactory;

    @Primary
    @Bean
    public RedisTemplate<String,?> redisTemplate(RedisConnectionFactory connectionFactory) {
        // 使用其他序列化替代jdk序列化
        RedisSerializer<Object> redisSerializer = getRedisSerializer();
        RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
        template.setConnectionFactory(connectionFactory);
        template.setKeySerializer(redisSerializer);
        template.setValueSerializer(redisSerializer);
        template.setHashKeySerializer(redisSerializer);
        template.setHashValueSerializer(redisSerializer);
        template.afterPropertiesSet();
        return template;
    }

     private RedisSerializer<Object> getRedisSerializer(){
        // jackson序列化
//      Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
//      ObjectMapper om = new ObjectMapper();
//      om.setVisibility(PropertyAccessor.ALL, Visibility.ANY);
//      om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
//      jackson2JsonRedisSerializer.setObjectMapper(om);
        // fastjson序列化
        return new GenericFastJsonRedisSerializer();
    }
}

猜你喜欢

转载自blog.csdn.net/sz85850597/article/details/82260501