之前記得公司有個業務是忘redis中存入json字符串, 使用序列化跟反序列化塞入進去的時候發現就變成了字符串, 后來排查問題, 是存入進去的時候將其轉換為json字符串存入進去了, 后來想想不對啊, 雖然redis五種數據形式有字符串, 可是RedisConfig 中使用序列化跟反序列化的方式是Jackson2JsonRedisSerializer, 其序列化的是對象.
spring-data-redis提供如下幾種選擇:
- GenericToStringSerializer: 可以將任何對象泛化為字符串並序列化
- Jackson2JsonRedisSerializer: 跟JacksonJsonRedisSerializer實際上是一樣的
- JacksonJsonRedisSerializer: 序列化object對象為json字符串
- JdkSerializationRedisSerializer: 序列化java對象
- StringRedisSerializer: 簡單的字符串序列化
還有一點的就是 要將RedisConfig 中的 指定序列化輸入的類型 那一行代碼注釋掉