Valkey: Utiliser Pub/Sub avec Valkey et Python
Cette documentation fait partie du guide Utilisation avec Python. Consultez le guide complet ici : Comment connecter Valkey avec Python.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Valkey cloud prête à l'emploi qui offre de nombreux avantages, notamment :
- Interface web Redis Commander incluse.
- Taille et transferts de messages illimités.
- Mises à jour simplifiées en un clic.
- Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Valkey cloud hosting de Stackhero !
Exploiter la fonctionnalité Publish/Subscribe (Pub/Sub) avec Python et Valkey est très simple. Voici un exemple :
import redis
# Connexion à Valkey
r = redis.from_url(
'rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>',
health_check_interval=10,
socket_connect_timeout=5,
socket_keepalive=True,
retry_on_timeout=True
)
# Créer une instance PubSub
p = r.pubsub()
# S'abonner au canal "test"
p.subscribe('test')
# Publier un message sur le canal "test"
r.publish('test', 'This is a test message')
# Récupérer le premier message disponible du canal "test"
p.get_message()
# Se désabonner du canal "test"
p.unsubscribe('test')
Exemples avancés de Pub/Sub Valkey avec Python
Développez vos usages Pub/Sub avec ces exemples avancés :
# Créer une instance PubSub et ignorer les messages d'abonnement
p = r.pubsub(ignore_subscribe_messages=True)
# S'abonner à plusieurs canaux
p.subscribe('test-1', 'test-2', ...)
# Se désabonner de plusieurs canaux
p.unsubscribe('test-1', 'test-2', ...)
# Vous pouvez aussi utiliser "unsubscribe" sans argument pour se désabonner de tous les canaux
p.unsubscribe()
# S'abonner à des canaux via un pattern
p.psubscribe('my-*')
# Se désabonner de canaux via un pattern
p.punsubscribe('my-*')