我需要一个磁盘上的键值存储,不需要太大或分布式。用例如下:
STL's std::map
说)所以cdb
和gdbm
看起来是不错的选择,但只是想知道是否有更合适的选择。我们将非常感谢相关基准或甚至相关轶事证据的指示。
答案 0 :(得分:4)
您最终使用了什么数据库?
如果你喜欢cdb,你需要> 4 GB数据库,请查看最初基于cdb的mcdb,以及一些性能增强和添加对4 GB +常量数据库的支持。
https://github.com/gstrauss/mcdb/
提供了Python,Perl,Lua和Ruby扩展。 mcdb是用C语言编写的,并且使用了mmap,因此很容易支持线程之间和进程之间的无锁并发读取。由于它由内存映射文件支持,因此页面将根据需要从磁盘映射,即使访问数据库的进程数增加,内存也会保持不变。
答案 1 :(得分:0)
答案 2 :(得分:0)
我喜欢hamsterdb,因为我写了它:)
如果您想评估hamsterdb并需要一些帮助,请随时给我发邮件。