指定RedisTemplate的序列化方式
2020-04-21 22:38
766 查看
指定RedisTemplate的序列化方式
指定序列化方式 fastJsonRedisSerializer
@Configuration public class RedisConfig { /** * redisTemplate 默认的序列化方式为 JdkSerializationRedisSerializer * StringRedisTemplate 的默认序列化方式为 StringRedisSerializer * 使用 fastJsonRedisSerializer 替换默认序列化方式 */ @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); FastJsonRedisSerializer<Object> fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class); // 设置值value的序列化方式 redisTemplate.setValueSerializer(fastJsonRedisSerializer); redisTemplate.setHashValueSerializer(fastJsonRedisSerializer); // 设置键key的序列化方式 redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.afterPropertiesSet(); return redisTemplate; } }
方法
@Component public class RedisUtil { @Autowired private RedisTemplate<String, Object> redisTemplate; public void set(String key, Object value, Long time){ redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); } public Object get(String key){ return redisTemplate.opsForValue().get(key); } }
测试
@Autowired private RedisTemplate<String, Object> redisTemplate; @Test void contextLoads() { redisTemplate.opsForValue().set("user", new UserInfo("admin")); // UserInfo user = (UserInfo) redisTemplate.opsForValue().get("user"); // 反序列化需要指定类型 Object user = redisTemplate.opsForValue().get("user"); User userInfo = JSONObject.parseObject(JSON.toJSONString(user), User.class); }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- redis-springboot-redistemplate更改序列化方式
- SpringBoot中使用Redis,并且指定存放到Redis中的数据的序列化方式。
- redis-springboot-redistemplate更改序列化方式
- Spring-boot更改redisTemplate序列化方式
- java Redis Jedis存储Java对象 - (Java序列化为byte数组方式)
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- springboot中redisTemplate事务开启的两种方式
- SpringBoot整合Redis(附带序列化方式对比)
- Spring-boot通过redisTemplate使用redis(无须手动序列化)
- 深入理解Spring Redis的使用 (二)、RedisTemplate事务支持、序列化
- Redis– Jedis存储Java对象 - (Java序列化为byte数组方式) Java 序列化和反序列化
- Redis 序列化方式StringRedisSerializer、FastJsonRedisSerializer和KryoRedisSerializer
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
- 常见的redis的序列化方式
- Spring-boot通过redisTemplate使用redis(无须手动序列化)
- Redis:存储对象的两种方式(序列化和json字符串)
- Redis详解 - SpringBoot整合Redis,RedisTemplate和注解两种方式的使用
- redis的序列化方式
- Spring RedisTemplate 序列化、反序列化扩展支持 FastJson:GenericFastJson2JsonRedisSerializer
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)