Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer都是序列化为json格式。
不同:
如果存储的类型为List等带有泛型的对象,反序列化的时候 Jackson2JsonRedisSerializer序列化方式会报错,而GenericJackson2JsonRedisSerializer序列化方式是成功的,
原因:
Jackson2JsonRedisSerializer序列化方式数据:
[
{
"userId": null,
"userName": "你好",
"password": "22222222222",
"phone": null
}
]
GenericJackson2JsonRedisSerializer序列化方式数据:
[
"java.util.ArrayList",
[
{
"@class": "com.winterchen.model.User",
"userId": null,
"userName": "你好",
"password": "22222222222",
"phone": null
}
]
]
当反序列化的时候 Jackson2JsonRedisSerializer方式的list中放的是LinkedHashMap,而我们是强转为User类型的所以报错
GenericJackson2JsonRedisSerializer方式中有@class字段保存有类型的包路径,可以顺利的转换为我们需要的User类型