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

https://img1.mukewang.com/5cc114c3000168c808000018.jpg

redis中使用get获取,得到图片中的java hashmap 的object直接set到redis中的数据
使用python链接redis,可以get到key,但是key里面的内容无法解析,请问有同学处理过吗~

万千封印
浏览 1313回答 3
3回答

largeQ

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

慕尼黑的夜晚无繁华

最简单的是将Java对象转换为json,然后存在redis中,不过这样效率不高。另一种是使用protobuf之类的序列化工具序列化java对象,然后在Python中反序列化出来。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java