Prevent Python shelve Korruption
Frage
Wie soll ich die Korruption in einem Regal Datei verhindern? Sollte die shelve die meiste Zeit geschlossen werden und auch nur dann geöffnet, wenn ich einen Wert lesen oder bearbeiten müssen?
Lösung
Wenn die Sicherheit Ihrer persistenten Objekte von hohen Bedeutung in Ihrem Projekt ist, shelve
verwendet, ist keine gute Idee. Weder ist es, Objekte Beizen und manuell in Dateien geschrieben werden.
Beachten Sie, dass echte Datenbanken enorme Ressourcen (graue Zellen und Code) investieren im Fehlerfall sicher zu sein. So halten Sie Ihre Daten in einem echten DB. Am einfachsten wäre sqlite
, wie es mit Python mitgeliefert wird. sqlite
ist sehr sicher und hat eine Menge von Smarts darin über Ihre Daten in irgendeine gültigen Zustand auch bei Systemausfällen zu halten (wie wenn jemand Fahrten auf Ihrem PC-Netzkabel).