解决Redis key-value 二进制的问题

@Configuration

public class RedisTemplateConfig {

@Bean

    public RedisTemplateredisTemplate(RedisConnectionFactory redisConnectionFactory) {

        RedisTemplate redisTemplate =new RedisTemplate<>();

        redisTemplate.setConnectionFactory(redisConnectionFactory);

        // 使用Jackson2JsonRedisSerialize 替换默认序列化

        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer =new Jackson2JsonRedisSerializer(Object.class);

        ObjectMapper objectMapper =new ObjectMapper();

        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        // 设置value的序列化规则和 key的序列化规则

        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);

        redisTemplate.setKeySerializer(new StringRedisSerializer());

        redisTemplate.setHashKeySerializer(jackson2JsonRedisSerializer);

        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

        redisTemplate.setDefaultSerializer(jackson2JsonRedisSerializer);

        redisTemplate.setEnableDefaultSerializer(true);

        redisTemplate.afterPropertiesSet();

        return redisTemplate;

    }

}

```

你可能感兴趣的:(解决Redis key-value 二进制的问题)