Java 通过TestRing将Redis转换为BasicDBObject
我需要将序列化的Java对象(从Redis获取)转换为扩展com.mongodb.BasicDBObject(mongo Java驱动程序)的Java模型 我从Redis得到的是ByteString格式Java 通过TestRing将Redis转换为BasicDBObject,java,mongodb,redis,Java,Mongodb,Redis,我需要将序列化的Java对象(从Redis获取)转换为扩展com.mongodb.BasicDBObject(mongo Java驱动程序)的Java模型 我从Redis得到的是ByteString格式 总之,我需要通过TestRing->BasicDBObject进行转换,您应该使用一个中间模型来持久化您的模型。MongoDB的BasicDBObjects基于LinkedHashMap,但很有可能最终会得到不可Java序列化的内部数据结构 既不是DBObject也不是BSONObjectext
总之,我需要通过TestRing->BasicDBObject进行转换,您应该使用一个中间模型来持久化您的模型。MongoDB的
BasicDBObject
s基于LinkedHashMap
,但很有可能最终会得到不可Java序列化的内部数据结构
既不是
DBObject
也不是BSONObject
extendSerializable
。我建议您在Redis中存储JSON。快捷方式可以是在Redis中存储BSON而不是JSON(请参见BasicBonnecoder#encode
和BasicBonnecoder#readObject
)。@mp911de你说得对吗。好的方面是DBObject和BSONObject不扩展Serializable。换句话说,不需要为DBObject/BSONObject编写反序列化程序。我找到了一个解决方案:
通过从Redis->byte array->Object->cast向我的类成员进行测试
class Member extends BasicDBObject {
public Member(DBObject doc) {
super(doc.toMap());
}
public Member(BasicDBObject doc) {
super(doc);
}
...
}