【发布时间】:2011-03-08 13:12:13
【问题描述】:
我正在寻找有关具有 C++ 接口或用 C++ 编写的内存键值存储引擎或库的建议。
我正在寻找可以毫无问题地扩展到大约 100 个键值对并且在 linux 和 win32/64 上兼容/可编译的解决方案
【问题讨论】:
-
您是否有任何重复的键/值或全部唯一?
-
“需要扩展到大约 1 亿个键值对”和“在内存中”的要求将相互矛盾。两者都满足是可能的,但首先要问的问题是你是否需要同时满足两者。键/值真的必须在内存中吗?
-
@Chris:它可以有重复的键,所以它有点像 std::multimap 或 std::multiset
-
首先,是不是所有的key都可以提前确定,还是需要能够不断的插入/擦除key?如果它只是您加载的静态表并且只需要在运行时查找,则将其作为排序数据连续存储在向量中并使用 binary_search 可能就足够了。