本文主要是介绍Redis对象读写序列化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用Redis中,将对象序列化以Json方式写入Redis的方法:
基本推荐使用JdkSerializationRedisSerializer和StringRedisSerializer,因为其他两个序列化策略使用起来配置很麻烦,如果实在有需要序列化成Json和XML格式,可以使用java代码将String转化成相应的Json和XML。
1:使用Spring-data-Redis提供的接口JacksonJsonRedisSerializer
jackson-json工具提供了javabean与json之间的转换能力,可以将pojo实例序列化成json格式存储在redis中,也可以将json格式的数据转换成pojo实例。因为jackson工具在序列化和反序列化时,需要明确指定Class类型,因此此策略封装起来稍微复杂。需要jackson-mapper-asl工具支持
使用jackson提供的库,将对象序列化为JSON字符串。优点是速度快,序列化后的字符串短小精悍。但缺点也非常致命,那就是此类的构造函数中有一个类型参数,必须提供要序列化对象的类型信息,通过查看源代码,发现其只在反序列化过程中用到了类型信息。
2:使用Spring-data-Redis提供的接口JdkSerializationRedisSerializer
数据格式必须为json或者xml,那么在编程级别,在redisTemplate配置中仍然使用StringRedisSerializer,在存储之前或者读取之后,使用“SerializationUtils”工具转换转换成json或者xml。
使用JDK提供的序列化功能。 优点是反序列化时不需要提供类型信息(class
),但缺点是序列化后的结果非常庞大,是JSON格式的5倍左右,这样就会消耗redis服务器的大量内存.
这篇关于Redis对象读写序列化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!