我正在考虑在 Web 应用程序中使用 LMDB,这当然是多线程的。
在 mdb_dbi_open 的 Symas 文档中,它声明“不得从多个并发事务中调用此函数。使用此函数的事务必须在任何其他事务可以使用此函数之前完成(提交或中止)。”
这似乎意味着多个线程不能同时访问(写入)给定的数据库。
但是概述指出“写入是完全序列化的;一次可能只有一个写入事务处于活动状态,这保证了写入者永远不会死锁。”,这似乎暗示我不需要担心它。
我的问题是:我需要序列化我的写事务还是 LMDB 会为我处理这些?