简介:RedisTemplate的序列和反序列化机制讲解
- 上集问题
- 同个key为啥获取不到值,核心就是序列化机制导致key不一样
- 什么是序列化
- 把对象转换为字节序列的过程称为对象的序列化。
- 把字节序列恢复为对象的过程称为对象的反序列化。
- 对象的序列化主要有两种用途
- 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中
- 在网络上传送对象的字节序列。
- Redis为什么要序列化
- 性能可以提高,不同的序列化方式性能不一样
- 可视化工具更好查看
- 采用默认的jdk方式会乱码(POJO类需要实现Serializable接口)
- 采用JSON方式则不用,且可视化工具更好查看
- 自定义redis序列化方式,提供了多种可选择策略
- JdkSerializationRedisSerializer
- POJO对象的存取场景,使用JDK本身序列化机制
- 默认机制 ObjectInputStream/ObjectOutputStream进行序列化操作
- StringRedisSerializer
- Key或者value为字符串
- Jackson2JsonRedisSerializer
- 利用jackson-json工具,将pojo实例序列化成json格式存储
- GenericFastJsonRedisSerializer
- 另一种javabean与json之间的转换,同时也需要指定Class类型
- JdkSerializationRedisSerializer
本文作者为DBC,转载请注明。