寻找将多个虚拟“文件”写入一个系统文件的好方法

时间:2010-03-05 23:31:19

标签: file file-io filesystems

我有一个有多个进程的应用程序。它们共享读写一组随时间增长的文件。我宁愿不将数千个文件暴露给用户的环境,在那里他们更容易意外地修改或删除其中一个文件。是否有一个API允许合理的高性能写入和读取到虚拟文件系统,最终是硬盘上的单个文件?我需要它在C#或C ++中。

3 个答案:

答案 0 :(得分:0)

我使用SQLite或任何具有良好BLOB值的键值存储。

答案 1 :(得分:0)

是的,我们的SolFS OS edition提供了您正在寻找的API

答案 2 :(得分:0)

有一种称为键值存储的东西可以完全满足您的需求。 BerkeleyDB和东京内阁/东京暴君就是很好的例子。它们比关系数据库更简单,更快捷。它们存储的键是任意字节字符串,因此您可以使用类似文件系统的路径。如果您使用B树组织,则可以执行前缀查询,以实现类似目录列表的内容。

你提到需要从多个进程访问:我不确定BerkeleyDB如何处理这个问题,但东京暴君做得很好。