如何将Map<String, Object>缓存进redis

问题描述

我想把Map<String, Object>对象缓存到redis,但是redis报错。
报错图片如下:图片描述
可见是redis在序列化时因为无法序列化object对象导致报错。

问题出现的环境背景及自己尝试过哪些方法

尝试过将Map<String, Object>转成byte[]对象存到redis,
代码及报错信息如下:图片描述
代码执行到writeObject时报了序列化异常
请问有遇到过类似问题的朋友解答一下,谢谢

阅读 6.8k
3 个回答

最简单的方式直接转 json 就好了
也不会因为类的升级而影响序列号

有些对象是不能被序列化的,比如InputStreamOutputStream。对象序列化需要有Serializable接口标记。

经过评论中Random017的提示,我最后先把map转成了JsonObject,然后转成byte[]存进了redis,取出来再转换回来,把问题解决了,十分感谢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题