lmdb(Symas Lightning Memory-Mapped Database)无法在CentOS上运行

Min*_*Lin 4 database lmdb

lmdb代码是从官方git repo获得的.

https://gitorious.org/mdb

它不能与我的项目一起使用mdb_env_open返回代码38.

lmdb附带的测试代码也不起作用.

错误代码也是38,错误消息是"功能未实现".

在ubuntu上编译的相同代码工作正常.

关于lmdb的文档很少,我甚至无法找到获取返回码38的含义,并且stackoverflow中没有相应的标记.

那里有专家吗?

================================================== ====

我发现它是因为NFS,将数据库移动到本地存储解决了这个问题.但有没有我可以在NFS中使用它的解决方案?本地存储空间太小.

hyc*_*hyc 7

从文档的首页:http://symas.com/mdb/doc/

不要在远程文件系统上使用LMDB数据库,即使在同一主机上的进程之间也是如此.这会破坏某些操作系统上的flock(),可能是内存映射同步,并且肯定会在不同主机上的程序之间进行同步.

  • 如果您以只读方式打开数据库并且不尝试获取锁,那么在NFS上使用LMDB是否安全? (2认同)