redis序列化及各种序列化情况划分(redis 序列化性能对比)这都可以

随心笔谈2年前发布 admin
208 0 0

文章摘要

这篇文章介绍了在使用Redis存储Java对象时的序列化问题及解决方案。文章通过四个主要情况分析了不同场景下的序列化处理: 1. **情况一:未进行序列化** 如果类没有序列化,直接存储Java对象会导致报错。 2. **情况二:类序列化但未使用自定义序列化** 如果类序列化但未使用自定义序列化(如JSON序列化),存储时可能显示乱码。 3. **情况三:使用Jackson自定义序列化** 使用Jackson进行自定义序列化时,内容正常输出。 4. **情况四:正确使用序列化** 通常情况下,Java对象应转换为JSON存储,避免直接存储对象。 文章强调,未序列化存储对象会导致控制台显示乱码(如黑窗口),而正确使用序列化(如JSON序列化)则可正常存储和反序列化。为避免问题,建议使用配置类(如RedisTemplate)实现自定义序列化,确保对象正确转换为可存储格式。 总结:文章突出了序列化的必要性,以及不同序列化方式对Redis存储的影响,帮助开发者避免常见问题。



目录序列化基本序列化各种情况区分情况一:类没有序列化,直接存储一个javabean对象 结果:报错情况二:类序列化,直接存储一个javebean对象 结果:控制台正常显示,黑窗口乱码情况三 使用jackon序列化(自定义的序列化) 内容正常输出。情况四 正常使用时,我们通常把我们的对象转换成json存储,并不会直接存储某一个java对象。

默认使用的是jdk序列化 会使字符串转义

在实际开发中,当我们要往redis中存对象时,都要进行序列化的。

当然,如果我们把对象给转换json字符串,此时存储的相当于是字符串。不序列化并不影响正常运行但是,通常我们都要把我们创建的对象给序列化。假如我们不序列化,存储对象

在实际开发中我们可能使用json去转换,我们还不想使用jdk序列化(默认的是jdk序列化) 。 此时我们就需要使用配置类了。

我们创建一个redisTemplate对象,覆盖bean容器中原有的redis template对象。

a.

b.

c.

d. 没有序列化,转换为json对象存储。 控制台正常,黑窗口乱码

e. 序列化,转换为json对象存储。 黑窗口乱码。

a.

b.

c.

a.

b.

a. 我们同上使用情况三的使用方式

b. 所有的对象,都要进行序列化,即实现

到此这篇关于redis序列化及各种序列化情况划分的文章就介绍到这了,更多相关redis序列化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:redis反序列化报错原因分析以及解决方案解决SpringBoot下Redis序列化乱码的问题SpringBoot结合Redis实现序列化的方法详解Redis之RedisTemplate配置方式(序列和反序列化)Redis序列化存储及日期格式的问题处理关于redisson缓存序列化的几枚大坑说明Redis序列化转换类型报错的解决

© 版权声明

相关文章