Valkey: Verwendung von Pub/Sub mit Valkey und Python

Diese Dokumentation ist Teil des Verwendung mit Python-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man Valkey mit Python verbindet.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Valkey Cloud Lösung, die zahlreiche Vorteile bietet, darunter:

  • Redis Commander Web-UI inklusive.
  • Unbegrenzte Nachrichtengröße und Übertragungen.
  • Mühelose Updates mit nur einem Klick.
  • Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Valkey Cloud Hosting Lösung von Stackhero auszuprobieren!

Die Nutzung der Publish/Subscribe (Pub/Sub)-Funktionalität in Python mit Valkey ist einfach. Hier ist ein Beispiel:

import redis

# Verbindung zu 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
)

# Erstellen einer PubSub-Instanz
p = r.pubsub()

# Abonnieren des Kanals "test"
p.subscribe('test')

# Veröffentlichen einer Nachricht im Kanal "test"
r.publish('test', 'Dies ist eine Testnachricht')

# Abrufen der ersten verfügbaren Nachricht vom Kanal "test"
p.get_message()

# Abbestellen vom Kanal "test"
p.unsubscribe('test')

Erweitern Sie Ihre Pub/Sub-Fähigkeiten mit diesen erweiterten Beispielen:

# Erstellen einer PubSub-Instanz und Ignorieren von Abonnementnachrichten
p = r.pubsub(ignore_subscribe_messages=True)

# Abonnieren mehrerer Kanäle
p.subscribe('test-1', 'test-2', ...)

# Abbestellen von mehreren Kanälen
p.unsubscribe('test-1', 'test-2', ...)

# Sie können auch "unsubscribe" ohne Argumente verwenden, um sich von allen abonnierten Kanälen zu trennen
p.unsubscribe()

# Abonnieren von Kanälen mit einem Muster
p.psubscribe('my-*')

# Abbestellen von Kanälen mit einem Muster
p.punsubscribe('my-*')