redis-springboot-redistemplate更改序列化方式
2017-11-27 09:19
676 查看
redisTemplate 默认的序列化方式为 jdkSerializeable, StringRedisTemplate的默认序列化方式为StringRedisSerializer
可以通过手动配置, 将redisTemplate的序列化方式进行更改
可以通过手动配置, 将redisTemplate的序列化方式进行更改
package com.wenbronk.data.redis; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /** * redis的启动类 * Created by wenbronk on 2017/6/12. */ @SpringBootApplication public class RedisApplication { public static void main(String[] args) { SpringApplication.run(RedisApplication.class, args); } /** * redisTemplate 序列化使用的jdkSerializeable, 存储二进制字节码, 所以自定义序列化类 * @param redisConnectionFactory * @return */ @Bean public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<Object, Object> 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.afterPropertiesSet(); return redisTemplate; } }
相关文章推荐
- redis-springboot-redistemplate更改序列化方式
- SpringBoot整合Redis(附带序列化方式对比)
- springboot使用protostuff进行序列化和反序列化整合redis的redisTemplate的各种方法的写法
- Spring-boot通过redisTemplate使用redis(无须手动序列化)
- SpringBoot整合Redis(附带序列化方式对比)
- springboot集成redis集群(带密码并序列化)
- 【springBoot】springBoot集成redis的key,value序列化的相关问题
- SpringBoot自定义序列化的使用方式--WebMvcConfigurationSupport
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- redis在spring和springboot中的使用方式以及遇到的坑
- spring-boot-starter-data-redis(spring cloud 操作redis) RedisTemplate
- Spring-boot-redis序列化Date数据类型
- springboot+redis(注解方式)使用(java代码部分)
- Spring boot + redis + 序列化工具(四)
- 【springBoot】springBoot集成redis的key,value序列化的相关问题
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- Spring Redis 序列化方式修改——RedisTemplate存取数据异常,在数据前有一串字符
- Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)
- Spring boot下配置使用redis--template编码形式
- spring boot data RedisTemplate 序列化问题