Sök…


Introduktion

Redis tillhandahåller en implementering av meddelandemönstret Publicera / prenumerera (pub / sub). Istället för att skicka meddelanden till specifika mottagare, skickar utgivare meddelanden till intresserade mottagare via någon indirektmekanism. Mottagare anger intresse för specifika meddelanden. I Redis åtkomst till denna funktionalitet med kommandona PUBLISH och SUBSCRIBE på kanaler.

Syntax

  • SUBSCRIBE channel [channel ...]
  • UNSUBSCRIBE [channel [channel ...]]
  • PUBLISKA kanalmeddelande
  • PSUBSCRIBE mönster [mönster ...]
  • PUNSUBSCRIBE [mönster [mönster ...]]

Anmärkningar

För att hantera puben / suben på nytt måste du ha en klient för prenumeration och olika klienter för publicering . Båda kan inte hanteras av samma klient. Även om alla andra kommandon fortfarande kan hanteras med samma klient.

Publicera och prenumerera med redis

Redis har publicerat / prenumererar för att skicka meddelanden. Detta hanteras genom att prenumerera på en kanal och publicera till kanal. Ja, prenumeranter kommer att prenumerera på en eller flera kanaler. Utgivaren behöver inte veta vem som alla är prenumeranter. Istället publicerar förläggaren till en specifik kanal. Alla abonnenter som prenumererar på den kanalen får meddelandet. Denna frikoppling av utgivare och prenumeranter kan möjliggöra större skalbarhet och en mer dynamisk nätverkstopologi.

Exempel: Användaren prenumererar på 2 kanaler säger foo & boo

SUBSCRIBE foo boo

I konsolen för redis-client1:

127.0.0.1:6379> SUBSCRIBE foo boo
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "foo"
3) (integer) 1
1) "subscribe"
2) "boo"
3) (integer) 2

Det börjar lyssna efter meddelande. På publicera får data för motsvarande kanal.

Till exempel: När du vill skicka meddelande till alla prenumeranter som är anslutna till boo, måste du publicera till den kanalen.

PUBLISH boo "Hello Boo"

I konsolen för redis-client1:

1) "message"
2) "boo" //channel name
3) "Hello Boo" //Actual data

För att avsluta prenumerationen från kanalen när som helst, använd

UNSUBSCRIBE // to unsubscribe from all channels
UNSUBSCRIBE foo // to unsubscribe from specific channel

Kan prenumerera baserat på mönster också. När kanalnamnet inte är säker / vill prenumerera baserat på mönster använder du PSUBSCRIBE .

På samma sätt som att avregistrera baserat på mönster använder PUNSUBSCRIBE



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow