Einleitung
PickleDB ist eine leichte Schlüssel-Wert-Datenbank, die in reinem Python geschrieben ist und keine zusätzlichen Server oder Abhängigkeiten erfordert. Diese Bibliothek bietet eine einfache Lösung zum Speichern kleiner Datenmengen im JSON-Format und ist daher ideal für schnelle Prototypen, CLI-Tools, Konfigurationsdateien und Mikroprojekte.
Der Hauptvorteil von PickleDB liegt in seiner einfachen Handhabung bei gleichzeitig ausreichender Funktionalität für eine Vielzahl von Datenspeicher-Aufgaben. Die Bibliothek unterstützt verschiedene Datentypen: Zeichenketten, Zahlen, Listen, Wörterbücher und boolesche Werte.
Was ist PickleDB und wo wird es eingesetzt?
PickleDB ist eine NoSQL-Datenbank, die Daten als Schlüssel-Wert-Paare in einer JSON-Datei speichert. Die Bibliothek wurde als Alternative für Fälle entwickelt, in denen der Einsatz vollwertiger Datenbanksysteme wie PostgreSQL oder MySQL übertrieben wäre.
Zu den Hauptanwendungsbereichen von PickleDB gehören:
- Speichern von Benutzereinstellungen und Konfigurationen
- Zwischenspeichern von Berechnungsergebnissen
- Aufbewahrung von Autorisierungs-Tokens und API-Schlüsseln
- Führen einfacher Logs und Zähler
- Schnelles Prototyping mit Datenpersistenz
- Entwicklung von CLI-Anwendungen mit lokaler Speicherung
Installation und erste Einrichtung
Zur Installation von PickleDB wird der Standard-Python-Paketmanager verwendet:
pip install pickledb
Nach der Installation ist die Bibliothek ohne weitere Konfiguration einsatzbereit:
import pickledb
# Datenbank erstellen oder verbinden
db = pickledb.load('database.db', auto_dump=True)
Der Parameter auto_dump=True sorgt für die automatische Speicherung aller Änderungen in die Datei und gewährleistet so die Datensicherheit auch bei unerwarteten Programmabbrüchen.
Architektur und Funktionsweise
Datenstruktur
PickleDB verwendet JSON als Speicherformat, was die Lesbarkeit und Portabilität der Daten zwischen verschiedenen Systemen gewährleistet. Die Datenbankdatei ist ein normales JSON-Dokument mit folgender Struktur:
{
"simple_key": "Zeichenkettenwert",
"numeric_key": 42,
"boolean_key": true,
"list_key": ["Element1", "Element2", "Element3"],
"dict_key": {
"nested_field": "verschachtelter Wert",
"nested_number": 100
}
}
Speichermechanismus
Bei der Arbeit mit PickleDB werden alle Daten beim Initialisieren der Datenbank in den Speicher geladen. Änderungen werden am Objekt im Speicher vorgenommen und dann, je nach Einstellung, in die Datei geschrieben:
- Bei
auto_dump=True– Speicherung erfolgt nach jedem Schreibvorgang - Bei
auto_dump=False– manueller Aufruf der Methodedump()erforderlich
Vollständige Referenz der PickleDB-Methoden und -Funktionen
Wichtige Methoden zur Datenverwaltung
| Methode | Beschreibung | Anwendungsbeispiel |
|---|---|---|
set(key, value) |
Speichert einen Wert unter einem Schlüssel | db.set('name', 'Max') |
get(key) |
Ruft den Wert eines Schlüssels ab | name = db.get('name') |
exists(key) |
Prüft, ob ein Schlüssel existiert | if db.exists('name'): |
rem(key) |
Löscht einen Schlüssel und seinen Wert | db.rem('name') |
getall() |
Gibt alle Schlüssel zurück | keys = db.getall() |
totalkeys() |
Gibt die Anzahl der Schlüssel zurück | count = db.totalkeys() |
Auch in der Bibliothek
Elasticsearch C++-Client: Vollständiger Leitfaden für die Arbeit mit der Suchmaschine
node-cron: Aufgabenplaner für JavaScript (Node.js)
PHP-Aufgabenplaner: cron-ähnliche Aufgaben ohne crond