首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LMDB操作方式

LMDB操作方式
EN

Stack Overflow用户
提问于 2018-07-29 08:17:41
回答 1查看 219关注 0票数 0

我刚刚开始用LMDB替换一些SQL表,LMDB是一个在C (lmdb链接)中实现的基本键值存储。

在移植过程中,我遇到了一些理论问题:

  1. DB使用的是游标而不是类型化的键,我认为它是因为键可以根据需求(blob)进行更改,是吗?
  2. LMDB将数据库映射到内存中,并且只在事务提交时同步文件。如何在多进程环境中保持完整性?内存是否在所有用户之间共享?
  3. 另外,当我试图从DB中删除一个项目(使用mdb_del)时,它没有删除它,只是将其标记为已删除。所以看起来DB文件不会变小,因为没有内存重用。这种方法有什么好处? 也许有一个消息来源可以详细解释它是如何工作的?
EN

回答 1

Stack Overflow用户

发布于 2018-07-29 13:00:28

  1. 您可以使用"where Key=k“键进行搜索。游标允许您找到第一个、最后、下一个或前一个键。游标还允许您搜索"where Key>=k“。(我发现它很有用)
  2. LMDB支持一个作者和许多读者。它为我工作(Visual使用lmdb.v140)。我发现唯一能够做到这一点的无服务器数据库。
  3. N/C
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51578504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档