2016-06-29 23 views
1

Ich weiß, dass LMDB gleichzeitige Schreibvorgänge nicht unterstützt.Wie verwalten gleichzeitige LMDB schreibt in Python?

Ich habe eine Anwendung, wo gleichzeitige Schreibversuche sehr selten sind, aber sie können gelegentlich auftreten. Wie sollte dies in einer Python-Anwendung gehandhabt werden?

Im Einzelnen:

  • ist ein gleichzeitiger Schreibversuch eine Ausnahme in dem Python LMDB erhöhen zu binden, so dass es möglich wäre, einen erneuten Versuch in den Exception-Handler zu planen? versucht eine gleichzeitige Schreibweise sogar sicher?

  • oder gibt es einen anderen oder besseren Weg, um gleichzeitige Schreibversuche zu behandeln?

Antwort

2

Gemäß lmdb-Dokumentation behandelt lmdb das gleichzeitige Schreiben von sich aus. Wenn mehrere read_write-Transaktionen gleichzeitig geöffnet werden, wird von Lmdb abgesehen von der aktiven Schreibtransaktion erwartet, dass alle anderen Schreibtransaktionen warten, bis die aktuelle aktive Schreibtransaktion festgeschrieben wird. So behandelt es gleichzeitige Schreibvorgänge.