PickleDB – base de données légère en Python

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

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éthode dump() 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()

Recommendations