我正在使用Flatbuffers在Java中工作。我有一个向量表,类似:
table T2 {
property : [T1];
}
table T1 {
field1 : int;
field2 : int;
}
因此,T1的记录已被序列化,并且ByteBuffers被缓存在Redis中。当我从redis取回它们(ByteBuffers)时,我想将这些记录添加到T2并创建表向量。由于所有这些T1记录均已序列化,因此我想知道构建平面缓冲区T2的最有效方法。我想我可以通过访问每个T1的字段并创建新对象来添加它。我相信这可能不是实现此目的的最有效方法。我希望是否有一种方法可以将T1的序列化字节缓冲区直接添加到生成器中,并获取它们对应的偏移量以传递给.createvectorOfTables()
方法。
答案 0 :(得分:1)
在您提到的场景中,您似乎要处理两个不同的缓冲区。在这种情况下,最好将其保留在架构中。可以尝试:
tsconfig.json
现在,当您完成编写T1时,只需将获得的缓冲区推入T1Buffertable中,然后创建这些缓冲区表的数组即可。 在读取期间,您可以获取每个T1Buffer,然后独立进行反序列化。