Redis-caching og meddelelser (Pub/Sub, Streams) · Lektion

Broadcasting af enkle meddelelser

Øv Dem i at publicere meddelelser til kanaler og abonnere på dem med Redis CLI og klientbiblioteker.

Lektion 3 af 411 trin

Broadcasting af enkle meddelelser er en gratis Redis-caching og meddelelser (Pub/Sub, Streams)-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Redis-caching og meddelelser (Pub/Sub, Streams), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Redis-caching og meddelelser (Pub/Sub, Streams)-kurset indeholder 4 lektioner i alt.

Hvad er udsendelse?

I Pub/Sub-verdenen betyder udsendelse, at en enkelt meddelelse sendes, så mange lyttere kan modtage den på én gang.

Tænk på det som en radiostation: Stationen udsender musik, og alle, der er indstillet på frekvensen, kan høre den.

  • Én afsender (udgiver)
  • Mange modtagere (abonnenter)
  • Afkoblet kommunikation

Udgiverens rolle

En udgiver er den enhed, der sender meddelelser. Den er ligeglad med, hvem der lytter, eller om nogen overhovedet lytter.

Udgivere sender ganske enkelt meddelelser til en bestemt kanal. Redis sørger derefter for at levere meddelelsen til alle aktive abonnenter på kanalen.

CLI: udgivelse af meddelelser

Du kan nemt udgive meddelelser ved hjælp af Redis' kommandolinjegrænseflade (CLI). Kommandoen er enkel:

PUBLISH channel_name "Your message content"

Lad os sige, at du vil sende en nyhedsopdatering til en kanal med navnet newsfeed:

PUBLISH newsfeed "Breaking: Redis is awesome!"

Abonnentens rolle

En abonnent er den enhed, der lytter efter meddelelser. Den »stiller ind« på en eller flere bestemte kanaler.

Når en meddelelse udgives til en kanal, som en abonnent lytter til, leverer Redis meddelelsen til abonnenten.

CLI: abonnement på kanaler

For at begynde at lytte efter meddelelser på en kanal via Redis CLI bruger du kommandoen SUBSCRIBE:

SUBSCRIBE channel_name

Når du har kørt kommandoen, går din CLI i lyttetilstand og venter på meddelelser.

SUBSCRIBE newsfeed

Demonstration: udgivelse og abonnement via CLI

Hvis du vil se Pub/Sub i praksis med CLI, skal du bruge to separate terminalvinduer:

  1. Vindue 1 (abonnent): Kør redis-cli SUBSCRIBE chatroom
  2. Vindue 2 (udgiver): Kør redis-cli PUBLISH chatroom "Hello everyone!"

Du ser meddelelsen dukke op øjeblikkeligt i vindue 1!

# Window 1 (Subscriber)
redis-cli SUBSCRIBE chatroom

# Window 2 (Publisher)
redis-cli PUBLISH chatroom "Hello everyone!"

Ud over CLI: klientbiblioteker

Selvom CLI er velegnet til test, bruger rigtige programmer klientbiblioteker. Disse biblioteker stiller API'er til rådighed i dit foretrukne programmeringssprog (f.eks. Python, Java og Node.js), så du kan kommunikere med Redis.

Med klientbiblioteker er det nemt at integrere Redis Pub/Sub i programmets logik.

Python-klient: udgivelse

Her kan du se, hvordan du udgiver en meddelelse ved hjælp af det populære redis-py-klientbibliotek i Python. Dette script opretter forbindelse til Redis og sender en meddelelse til en kanal.

import redis

r = redis.Redis(decode_responses=True)

channel_name = "app_updates"
message_content = "New feature released! Check it out."

r.publish(channel_name, message_content)
print(f"Published '{message_content}' to '{channel_name}'")

Python-klient: abonnement

Dette Python-script viser, hvordan du abonnerer på en kanal og modtager en enkelt meddelelse. Derefter afsluttes det, hvilket gør det egnet som et hurtigt eksempel, der kan køres.

I et rigtigt program ville løkken for message in pubsub.listen(): typisk køre kontinuerligt.

import redis

r = redis.Redis(decode_responses=True)
pubsub = r.pubsub()

channel_name = "app_updates"
pubsub.subscribe(channel_name)

print(f"Listening on '{channel_name}' for one message...")
for message in pubsub.listen():
    if message['type'] == 'message':
        print(f"Received: {message['data']}")
        break # Exit after first message
print("Subscriber finished.")

Hurtigt tjek: Pub/Sub-handlinger

Du har lært de grundlæggende kommandoer til Redis Pub/Sub. Lad os se, om du kan identificere den korrekte handling.

Opsummering: udsendelse af meddelelser

I denne lektion undersøgte vi, hvordan man udsender meddelelser med Redis Pub/Sub:

  • Udgivere sender meddelelser til kanaler uden at kende abonnenterne.
  • Abonnenter lytter til bestemte kanaler for at modtage meddelelser.
  • Vi brugte Redis CLI sammen med PUBLISH og SUBSCRIBE.
  • Vi så også, hvordan man implementerer enkle udgivere og abonnenter ved hjælp af Python-klientbiblioteker.

Dernæst dykker vi dybere ned i at bygge mere komplekse realtidsprogrammer!

Gratis at komme i gang

Lær Redis-caching og meddelelser (Pub/Sub, Streams) med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Broadcasting af enkle meddelelser” gratis?

Ja — alle 3 lektioner i læringssporet Redis-caching og meddelelser (Pub/Sub, Streams), inklusive “Broadcasting af enkle meddelelser”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Redis-caching og meddelelser (Pub/Sub, Streams)-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Broadcasting af enkle meddelelser”?

Øv Dem i at publicere meddelelser til kanaler og abonnere på dem med Redis CLI og klientbiblioteker. Du øver dig i Redis-caching og meddelelser (Pub/Sub, Streams) med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Redis-caching og meddelelser (Pub/Sub, Streams)?

Der kræves ingen tidligere erfaring. Redis-caching og meddelelser (Pub/Sub, Streams) på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Broadcasting af enkle meddelelser”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Redis-caching og meddelelser (Pub/Sub, Streams)-lektion?

Ja. Alle Redis-caching og meddelelser (Pub/Sub, Streams)-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til Pub/Sub
  2. Redis Pub/Sub-mekanik
  3. Broadcasting af enkle meddelelser
  4. Kanaler kontra keyspace-notifikationer
← Tilbage til Redis-caching og meddelelser (Pub/Sub, Streams)