Hvordan sende og motta meldinger med Redis Pubsub

Hvordan sende og motta meldinger med Redis Pubsub
Selv om Redis er kjent som en database og hurtigbufringsmekanisme, gir den en utgiver-abonnementsmodell. Ved å bruke pub-sub, kan et hvilket som helst antall brukere abonnere på kanaler og motta meldinger sendt til disse kanalene av utgiverne.

La oss se hvordan vi implementerer Redis Pub-Sub-modellen i denne artikkelen. For mangfold vil vi ikke velge noe programmeringsspråk. I stedet vil vi bruke Raw Redis -kommandoer for å oppnå dette.

Hvordan pub-sub fungerer

Pub-sub-modellen er ganske grei. Vi starter med å lage en kanal som en bruker kan abonnere på.

Når en bruker abonnerer på en kanal, kan de ikke sende noen kommandoer til serveren. Kanalens skaper (Publisher) kan imidlertid sende kommandoer og publisere meldinger til serveren.

Husk at en enkelt bruker kan abonnere på flere kanaler samtidig.

Abonnerer på en kanal

For å implementere pub-sub, åpne terminalen og logge på Redis CLI. Vi kan nå abonnere på en kanal ved å bruke kommandoen abonner og navnet på kanalene for å abonnere på.

Eksempel:

Abonner chat_room_1 chat_room_2

Kommandoen over skal abonnere på kanaler kalt chat_room_1 og chat_room_2.

På dette tidspunktet kan brukeren lese enhver melding som er publisert til disse kanalene.

Publisere meldinger

Neste, åpne et nytt terminalvindu og koble til Redis -serveren. Når vi er koblet sammen, kan vi publisere meldinger til kanalene som:

127.0.0.1: 6379> Publiser chat_room_1 "Hei alle sammen, velkommen til chatterom 1"
(Heltall) 1

Kommandoen over skal publisere meldingen til Channel One, der abonnentene kan motta den.

Gå til abonnentterminaløkten for å sjekke den.

Meldingen mottatt i abonnentvinduet består av tre hovedkomponenter:

  1. Legg merke til som indikerer meldingen.
  2. Kanalen som meldingen ble sendt til.
  3. Meldingsinnholdet.

Merk: Å publisere en melding til en kanal som ikke eksisterer (noe som betyr at det ikke er noen abonnenter) tvinger Redis til å forkaste meldingen og returnere 0.

Eksempel:

127.0.0.1: 6379> Publiser Nochannel Nomessage
(Heltall) 0

Konklusjon

Denne artikkelen dekker hvordan du bruker Redis pub-sub-modellen gjennom en enkel opplæring. Ved å bruke Raw Redis-kommandoer og avstå fra programmeringsspråk, skal leserne kunne sende og motta meldinger med Redis Pub-Sub på slutten av denne artikkelen.