一、什么是序列化,我们为什么要使用序列化
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
二、SpringDataRedis中为我们提供了哪些序列化手段
序列化选项 | 说明 |
---|---|
StringRedisSerializer | 简单的字符串可以使用这个 |
GenericToStringSerializer | 可以将任何对象泛化为字符串并序列化 |
Jackson2JsonRedisSerializer | 将对象序列化成json存储 |
JdkSerializationRedisSerializer | SDR存储对象时候默认的序列化方式,被序列化的对象必须实现Serializable接口 说明:长度过长,可读性极差。而且java以后好像要废除序列化。不推荐 |
OxmSerializer | 将对象序列化为xml字符串,如果需要自行查阅文档吧。 |
GenericJackson2JsonRedisSerializer | 同Jackson2JsonRedisSerializer但是这个加上@Class方便反序列化。推荐使用 |
总体来看:我们建议所有的Key都用String来序列化。Value:分为俩种情况:第一种简单的String字符串我们使用StringRedisSerializer。第二种:存储对象。我们建议使用GenericJackson2JsonRedisSerializer。