业务场景中经常遇到使用Redis作为缓存,而将对象写入Redis更是常见的。下面来看下,对象写入Redis的俩种方式(我之前就知道除了JDK,还有其它的诸如Jackson提供序列化功能,但是JDK之外的其它第三方在方序列化的时候提供目标对象class,不过今天我发现Spring-data-redis自带的这个GenericJackson2JsonRedisSerializer解决了我的烦恼)。
1.公用配置
List-1 连接池和ConnectionFactory配置
2.用JDK序列化方式
List-2 使用JDK的序列化方式
如List-2所示,我们要将keySerializer和valueSerializer的值设置为JdkSerializationRedisSerializer。
3.用Jackson方式
List-2 使用Jackson作为序列化
我们都知道Jackson反序列化的时候,都需要传入目标对象class,这里我们并不需要指定目标class,那么问题来了,它是怎么做到在使用者不提供目标class的情况下,方序列化的呢?
先来定义实体类,如下List-3和List-4
List-3 Department.java
/**
* @author dmj1161859184@126.com 2018-09-18 01:21
* @version 1.0
* @since 1.0
*/
@Data
public class Department {
private String name;
private List o