cpp快速访问磁盘上的二进制数据

abr*_*hab 0 c++ database indexing binary

目前,我的程序在内存中有很多会话.Session是一个对象unsigned int ID,有些变量+可能长的大小std::map(会话到会话的大小不同).

我想将一些会话卸载到磁盘,但不知道如何组织磁盘上的结构,以便有机会在磁盘上快速查找会话以在需要时加载它.如何通过磁盘上的ID快速查找会话?也许是一些索引,但不知道如何使用它们......或者可能是一些额外的变量?

*SQL数据库*不是我的变体,因为稳定性,资源过度使用,可移植性,兼容性等等需要像磁盘上的其他数据库一样组织.

谢谢,对不起我的英语.如果有错误,请编辑我的文本

Ned*_*der 6

使用数据库,这正是他们的好处.


Naw*_*waz 6

您可以使用SQLite库来实现此目的.它也有C/C++接口.

此外,SQLite是一个跨平台和可移植的数据库.它只是一个文件(您可以拥有单个文件),就像硬盘上的任何其他文件一样.您不需要为此安装任何大型软件.它轻巧方便.