之前记得公司有个业务是忘redis中存入json字符串, 使用序列化跟反序列化塞入进去的时候发现就变成了字符串, 后来排查问题, 是存入进去的时候将其转换为json字符串存入进去了, 后来想想不对啊, 虽然redis五种数据形式有字符串, 可是RedisConfig 中使用序列化跟反序列化的方式是Jackson2JsonRedisSerializer, 其序列化的是对象.
spring-data-redis提供如下几种选择:
- GenericToStringSerializer: 可以将任何对象泛化为字符串并序列化
- Jackson2JsonRedisSerializer: 跟JacksonJsonRedisSerializer实际上是一样的
- JacksonJsonRedisSerializer: 序列化object对象为json字符串
- JdkSerializationRedisSerializer: 序列化java对象
- StringRedisSerializer: 简单的字符串序列化
还有一点的就是 要将RedisConfig 中的 指定序列化输入的类型 那一行代码注释掉