Valkey: Używanie Pub/Sub z Valkey i Pythonem

Ta dokumentacja jest częścią przewodnika Używanie z Pythonem. Pełny przewodnik znajdziesz tutaj: Jak połączyć Valkey z Pythonem.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Valkey cloud, które zapewnia wiele korzyści, w tym:

  • Włączony web UI Redis Commander.
  • Nieograniczony rozmiar wiadomości i transfery.
  • Bezproblemowe aktualizacje za jednym kliknięciem.
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i uprość sobie życie: wystarczy 5 minut, aby wypróbować rozwiązanie Valkey cloud hosting Stackhero!

Wykorzystanie funkcjonalności Publish/Subscribe (Pub/Sub) w Pythonie z Valkey jest proste. Oto przykład:

import redis

# Połącz z 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
)

# Utwórz instancję PubSub
p = r.pubsub()

# Subskrybuj kanał "test"
p.subscribe('test')

# Opublikuj wiadomość na kanale "test"
r.publish('test', 'To jest wiadomość testowa')

# Pobierz pierwszą dostępną wiadomość z kanału "test"
p.get_message()

# Anuluj subskrypcję kanału "test"
p.unsubscribe('test')

Rozszerz swoje możliwości Pub/Sub za pomocą tych zaawansowanych przykładów:

# Utwórz instancję PubSub i ignoruj wiadomości subskrypcyjne
p = r.pubsub(ignore_subscribe_messages=True)

# Subskrybuj wiele kanałów
p.subscribe('test-1', 'test-2', ...)

# Anuluj subskrypcję wielu kanałów
p.unsubscribe('test-1', 'test-2', ...)

# Możesz również użyć "unsubscribe" bez argumentów, aby rozłączyć się ze wszystkimi subskrybowanymi kanałami
p.unsubscribe()

# Subskrybuj kanały używając wzorca
p.psubscribe('my-*')

# Anuluj subskrypcję kanałów używając wzorca
p.punsubscribe('my-*')