redis
Connexion à redis en utilisant Python
Recherche…
Introduction
La connexion à Redis en Python nécessite l'utilisation d'une bibliothèque client. Il existe de nombreuses bibliothèques client pour Python, mais redis-py est l’un des clients les plus populaires.
Une fois la bibliothèque client installée, vous pouvez accéder à Redis dans votre application en important le module approprié, en établissant une connexion, puis en exécutant une commande.
Remarques
Pour vous connecter sur redis avec python, vous devez installer un client . Vous pouvez installer avec pip en utilisant:
pip install redis
cela va installer redis-py
Vous pouvez éventuellement installer hiredis-py qui délègue l'analyse des messages de protocole au client C hiredis. Cela peut apporter une amélioration significative des performances dans de nombreuses situations. Vous pouvez installer hiredis avec pip en exécutant:
pip install hiredis
Ajouter un élément à la liste
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.lpush('myqueue','myelement')
Ajout de champs à un hachage
Il y a deux fonctions principales dans Redis (HSET et HMSET) pour ajouter des champs à une clé de hachage. Les deux fonctions sont disponibles en redis-py.
Utiliser HSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hset('my_key', 'field0', 'value0')
En utilisant HMSET:
import redis
r = redis.StrictRedis(host='myserver', port=6379, db=0)
r.hmset('my_key', {'field0': 'value0', 'field1':'value1', 'field2':'value2'}
Configuration d'une connexion à Redis
Le client redis-py fournit deux classes StrictRedis
et Redis
pour établir une connexion de base à une base de données Redis. La classe Redis
est fournie pour la rétrocompatibilité et les nouveaux projets doivent utiliser la classe StrictRedis
.
L'une des méthodes recommandées pour établir une connexion consiste à définir les paramètres de connexion dans un dictionnaire et à transmettre le dictionnaire au constructeur StrictRedis
à l'aide de la syntaxe **
.
conn_params = {
"host": "myredis.somedomain.com",
"port": 6379,
"password": "sekret",
"db": 0
}
r = redis.StrictRedis(**config)
Créer une transaction
Vous pouvez établir une transaction en appelant la méthode de pipeline
sur StrictRedis
. Les commandes redis exécutées sur la transaction sont effectuées dans un seul bloc.
# defaults to transaction=True
tx = r.pipeline()
tx.hincrbyfloat(debit_account_key, 'balance', -amount)
tx.hincrbyfloat(credit_account_key, 'balance', amount)
tx.execute()
Exécuter des commandes directement
Redis-py fournit la méthode execute_command
pour appeler directement les opérations Redis. Cette fonctionnalité peut être utilisée pour accéder à tous les modules qui peuvent ne pas avoir une interface prise en charge dans le client redis-py. Par exemple, vous pouvez utiliser la commande execute_command
pour répertorier tous les modules chargés sur un serveur Redis:
r.execute_command('MODULE', 'LIST')