2016-06-29 18 views
1

私はLMDBが同時書き込みをサポートしていないことを知っています。Pythonでの同時LMDB書き込みの管理方法は?

私は、同時書き込みの試みが非常にまれである場合がありますが、ときどき発生することがあります。 Pythonアプリケーションでこれをどのように管理する必要がありますか?具体的に

:例外ハンドラに再試行をスケジュールすることが可能になるように

  • 同時書き込みの試みは、PythonのLMDB結合に例外を発生させていますか?同時に安全な書き込みを試みていますか?

  • または、同時書き込みの試みを処理する他の方法がありますか?

答えて

2

lmdbのドキュメントによると、lmdbはそれ自身の並行書き込みを処理します。一度に複数のread_writeトランザクションが開かれるとき。アクティブな書き込みトランザクションを除いて、Lmdbは、現在のアクティブな書き込みトランザクションがコミットするまで、他のすべての書き込みトランザクションを待機させます。したがって、同時書き込みを処理します。