我想弄清楚是否可以使用 protobuf-net 来存储和检索以下序列化数据结构:
我每天有大约 200,000 个大小为 16 字节的对象(该对象包含一个 long 和两个浮点类型值,8 字节加上 2 * 4 字节),我喜欢将它们存储在二进制文件中。此类对象的检索将仅按一整天进行,例如,我想请求 2012 年 4 月 1 日至 2012 年 4 月 6 日之间的对象,这些对象应该从 4 月 1 日开始读取,然后是 4 月 2 日,... 4 月 6 日。一个要求是访问需要是随机的,这意味着,该文件可能包含从 2010 年到 2012 年 6 月的数据,但我可能只想检索 2012 年 4 月 1 日到 4 月 6 日之间的元素,而不必从一开始就读取所有元素。
我目前以 DateTimeTick 的顺序将数据存储为连续的字节数组,但不考虑新的一天何时开始或结束。如果我可以使用 protbuf-net 将数据作为 IEnumerable 的全天“blob”流式传输,那就太棒了。那可能吗?我正在考虑为使用 protobuf-net 序列化的每一天存储一个 IEnumerable 或 List,但不知道以后如何随机访问特定列表?有什么想法或建议吗?谢谢