SDR 的序列化是spring data redis 框架中一个非常重要的核心概念, 只有理解了SDR 的序列化,才能搞清楚RedisTemplate 的机制, 才能搞清楚RedisTemplate 和 StringRedisTemplate 之间的区别. Redis
1. SDR 的序列化
1.1 什么是序列化
对于数据,在Redis中的存储形式为字节, 但是在java 语言中可以是基础类型或自定义类型, 如String, Integer, Object 等. SDR 中将用户类型与字节之间的转换称为SDR 的序列化和反序列化。
1.2 序列化方式
SDR 默认提供了三种序列化方式, 可以通过RedisSerializer 接口获取.
- JdkSerializationRedisSerializer: jdk 序列化方式, 默认的序列化方式
- GenericJackson2JsonRedisSerializer: json 序列化方式, 使用的时jackson 解析json
- StringRedisSerializer: string 序列化方式
// 获取jdk 序列化方式
RedisSerializer serializer = RedisSerializer.java();
// 获取string 序列化方式
RedisSerializer serializer = RedisSerializer.string();
// 获取json 序列化方式
RedisSerializer serializer = RedisSerializer