Introduction
PickleDB est une base de données légère de type clé-valeur, écrite en Python pur et ne nécessitant ni serveur supplémentaire ni dépendance externe. Cette bibliothèque offre une solution simple pour stocker de petits volumes de données au format JSON, ce qui en fait un choix idéal pour les prototypes rapides, les utilitaires en ligne de commande, les fichiers de configuration et les micro-projets.
Le principal avantage de PickleDB réside dans sa simplicité d'utilisation tout en conservant des fonctionnalités suffisantes pour résoudre un large éventail de problèmes de stockage de données. La bibliothèque prend en charge différents types de données : chaînes de caractères, nombres, listes, dictionnaires et valeurs booléennes.
Qu'est-ce que PickleDB et où l'utiliser ?
PickleDB est une base de données NoSQL qui stocke les données sous forme de paires clé-valeur dans un fichier JSON. Cette bibliothèque a été créée comme alternative aux SGBD complets comme PostgreSQL ou MySQL lorsque leur utilisation est superflue.
Les principaux cas d'usage de PickleDB incluent :
- Stockage des préférences utilisateur et des configurations
- Mise en cache de résultats de calculs intermédiaires
- Sauvegarde de jetons d'authentification et de clés API
- Gestion de logs simples et de compteurs
- Création de prototypes rapides avec persistance des données
- Développement d'applications CLI avec stockage local
Installation et configuration initiale
Pour installer PickleDB, utilisez le gestionnaire de paquets standard de Python :
pip install pickledb
Une fois installée, la bibliothèque est prête à l'emploi sans configuration supplémentaire :
import pickledb
# Création ou connexion à la base de données
db = pickledb.load('database.db', auto_dump=True)
Le paramètre auto_dump=True assure la sauvegarde automatique de toutes les modifications dans le fichier, garantissant ainsi l'intégrité des données même en cas d'arrêt inattendu du programme.
Architecture et principes de fonctionnement
Structure de stockage des données
PickleDB utilise JSON comme format de stockage, ce qui garantit la lisibilité des données et leur portabilité entre différents systèmes. Le fichier de base de données est un document JSON classique avec la structure suivante :
{
"simple_key": "valeur texte",
"numeric_key": 42,
"boolean_key": true,
"list_key": ["élément1", "élément2", "élément3"],
"dict_key": {
"nested_field": "valeur imbriquée",
"nested_number": 100
}
}
Mécanisme de sauvegarde
Lors de l'utilisation de PickleDB, toutes les données sont chargées en mémoire lors de l'initialisation de la base. Les modifications sont appliquées à l'objet en mémoire, puis, selon la configuration, sauvegardées dans le fichier :
- Avec
auto_dump=True: la sauvegarde a lieu après chaque opération d'écriture - Avec
auto_dump=False: un appel manuel à la méthodedump()est nécessaire
Référence complète des méthodes et fonctions PickleDB
Méthodes principales de gestion des données
| Méthode | Description | Exemple d'utilisation |
|---|---|---|
set(key, value) |
Enregistre une valeur pour une clé | db.set('name', 'Jean') |
get(key) |
Récupère la valeur associée à une clé | name = db.get('name') |
exists(key) |
Vérifie si une clé existe | if db.exists('name'): |
rem(key) |
Supprime une clé et sa valeur | db.rem('name') |
getall() |
Retourne toutes les clés | keys = db.getall() |
totalkeys() |
Retourne le nombre total de clés | count = db.totalkeys() |
Aussi dans la bibliothèque
Générateur de QR codes en C# (.NET) avec la bibliothèque QRCoder
RxSwift pour Swift : guide complet avec exemples
ORM pour JavaScript (Node.js) : comparaison de Sequelize, TypeORM, Prisma