今天遇到的问题 bug 2020-04-25

要把数据存入redis   实体类 需要实现 serializeable接口

 

如果不实现serializeable接口的话  还有一种比较更好的方法:

配置 一个RedisConfig类,在里面配置 实现自定义的序列化接口

这样还有个好处,就是存在redis中的数据名字 格式等  都不是一长串的数据 比较好管理.

 

配置类的相关代码如下:

 

         //RedisTemplate默认的序列化方式使用的是JDK的序列化
//设置了key的序列化方式
template.setKeySerializer(new StringRedisSerializer());
//设置了value的序列化方式
template.setValueSerializer(jackson2JsonRedisSerializer);


配置类的整个代码如下:
 1 @Configuration
 2 public class RedisConfig {
 3     @Bean
 4     public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
 5         RedisTemplate<Object, Object> template = new RedisTemplate<>();
 6 
 7         ObjectMapper objectMapper = new ObjectMapper();
 8         objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
 9 
10         template.setConnectionFactory(redisConnectionFactory);
11         Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
12         //把自定义objectMapper设置到jackson2JsonRedisSerializer中(可以不设置,使用默认规则)
13         jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
14 
15         //RedisTemplate默认的序列化方式使用的是JDK的序列化
16         //设置了key的序列化方式
17         template.setKeySerializer(new StringRedisSerializer());
18         //设置了value的序列化方式
19         template.setValueSerializer(jackson2JsonRedisSerializer);
20         return template;
21     }
22 }

 

posted @ 2020-04-25 22:56  戴文祥  阅读(235)  评论(0编辑  收藏  举报