Introduction
Redis est un magasin de données en mémoire hautes performances, utilisé comme cache, broker de messages, base de données ou file d'attente. Il prend en charge diverses structures de données : chaînes, listes, ensembles, hachages et autres. Pour Python, il existe un client officiel — redis-py, qui offre une interface pratique pour exploiter les fonctionnalités de Redis.
Redis-py est le client le plus populaire et le plus fiable pour travailler avec Redis dans les applications Python. La bibliothèque est activement développée et maintenue par la communauté, offrant une API simple et intuitive pour interagir avec le serveur Redis.
Qu'est-ce que la bibliothèque redis-py
Redis-py est la bibliothèque Python officielle pour travailler avec Redis, offrant un support complet de toutes les fonctionnalités de Redis. Écrite en Python pur, elle propose à la fois une interface synchrone et asynchrone pour interagir avec Redis.
Fonctionnalités principales de redis-py
La bibliothèque fournit un ensemble complet de fonctions pour travailler avec Redis :
- Support de tous les types de données Redis
- Gestion des transactions et pipelines
- Fonctionnalité Pub/Sub
- Support de Redis Sentinel et des clusters
- Opérations asynchrones via redis.asyncio
- Pool de connexions pour optimiser les performances
- Reconnexion automatique en cas de perte de connexion
Installation et connexion
Installation de la bibliothèque
pip install redis
Pour une installation avec des dépendances supplémentaires :
pip install redis[hiredis] # Pour des performances améliorées
Connexion à Redis
Connexion de base à Redis (par défaut sur le port 6379) :
import redis
# Connexion à Redis local
client = redis.Redis(host='localhost', port=6379, db=0)
# Connexion avec mot de passe
client = redis.Redis(host='localhost', port=6379, password='votremotdepasse', db=0)
# Connexion via URL
client = redis.from_url('redis://localhost:6379/0')
Vérification de la connexion
try:
response = client.ping()
print(f"Connexion établie : {response}") # True
except redis.ConnectionError:
print("Erreur de connexion à Redis")
Fondamentaux de Redis et types de données clés
Redis prend en charge cinq types de données principaux, chacun avec ses propres caractéristiques et méthodes :
Chaînes (Strings)
Le type de données le plus basique dans Redis. Peut stocker du texte, des nombres, des données binaires.
Listes (Lists)
Collections ordonnées de chaînes. Permettent d'ajouter des éléments au début ou à la fin.
Ensembles (Sets)
Collections non ordonnées de chaînes uniques. Supportent les opérations d'intersection et d'union.
Hachages (Hashes)
Correspondances entre champs et valeurs de type chaîne. Idéaux pour représenter des objets.
Ensembles ordonnés (Sorted Sets)
Ensembles avec un score pour chaque élément. Les éléments sont triés par score.
Commandes Redis principales via redis-py
Travailler avec les chaînes
# Définir et obtenir une valeur
client.set("user:name", "Jean")
name = client.get("user:name").decode('utf-8')
# Définir avec TTL
client.setex("session:123", 3600, "active") # 1 heure
# Travailler avec des nombres
client.set("counter", 0)
client.incr("counter") # Incrémenter de 1
client.incrby("counter", 5) # Incrémenter de 5
client.decr("counter") # Décrémenter de 1
Travailler avec les listes
# Ajouter des éléments
client.lpush("tasks", "task1", "task2") # Au début
client.rpush("tasks", "task3", "task4") # À la fin
# Obtenir des éléments
tasks = client.lrange("tasks", 0, -1) # Tous les éléments
first_task = client.lpop("tasks") # Supprimer et retourner le premier
last_task = client. Aussi dans la bibliothèque
Envoi de SMS en Go (Golang) : API de la bibliothèque golang-sms
SignalR pour C# (.NET) : guide complet avec exemples
PHP-DI pour PHP : guide complet avec exemples
Travailler avec CSV en PHP : lecture, écriture et traitement des données
Client HTTP pour JavaScript (Node.js) : top bibliothèques pour travailler avec les API