redis-springboot-redistemplate更改序列化方式
2017-06-12 13:54
651 查看
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更改序列化方式
- Spring-boot通过redisTemplate使用redis(无须手动序列化)
- SpringBoot整合Redis(附带序列化方式对比)
- springboot使用protostuff进行序列化和反序列化整合redis的redisTemplate的各种方法的写法
- SpringBoot整合Redis(附带序列化方式对比)
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- spring boot中使用resid-RedisTemplate
- Spring RedisTemplate 序列化、反序列化扩展支持 FastJson:GenericFastJson2JsonRedisSerializer
- springboot中使用redis,key序列化问题解决方案
- 解决spring boot redis序列化key-value乱码\xac\xed\x00\x05t\x00
- Spring boot 更改端口的几种方式
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- 【springBoot】springBoot集成redis的key,value序列化的相关问题
- Spring-boot-redis序列化Date数据类型
- REDIS学习(4)spring boot redisTemplate 对REDIS的简单封装,以及对引用包的说明,以及对序列化的详细说明
- Spring boot下配置使用redis--template编码形式
- spring boot data RedisTemplate 序列化问题
- spring boot下JedisCluster方式连接Redis集群的配置
- spring-boot-starter-data-redis(spring cloud 操作redis) RedisTemplate