为了账号安全,请及时绑定邮箱和手机立即绑定

可以使用Python读取java写入redis 的object数据,并解析吗?

可以使用Python读取java写入redis 的object数据,并解析吗?

万千封印 2019-03-13 18:15:14
redis中使用get获取,得到图片中的java hashmap 的object直接set到redis中的数据使用python链接redis,可以get到key,但是key里面的内容无法解析,请问有同学处理过吗~
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

-redis 本来就只支持存储一些基本类型(数值,字符...)的。java将对象存储在redis中是将对象序列化后的字节数组存入redis的,所以你用python取到的redis中的数据时,会带有特殊的前缀,表示序列化后java的类信息。java获取这些数据的时候会有反序列的操作,所以不影响。但python取到数据后是无法解析的。
-Java 存储与python共享数据时,应避免将String字符串当做对象进行序列化存储,应直接以字符串的形式存储,如果需要共享对象,对象转化为json串存储。
-另外spring的redisTemplate 进行Hash操作时,就算你存储的是String类型的数据,也会被当做String对象序列化后存储。所以 如果过要操作redis的hash结构,建议实例化一个Jedis客户端进行操作。

------有说错的地方请指点


查看完整回答
反对 回复 2019-04-25
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

最简单的是将Java对象转换为json,然后存在redis中,不过这样效率不高。另一种是使用protobuf之类的序列化工具序列化java对象,然后在Python中反序列化出来。


查看完整回答
反对 回复 2019-04-25
  • 3 回答
  • 0 关注
  • 1312 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号