Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Was ist Redis Pubsub und wie verwende ich es?

Publish/Subscribe ist ein ziemlich einfaches Paradigma. Stellen Sie sich das so vor, als würden Sie eine Talkshow bei einem Radiosender leiten. Das ist VERÖFFENTLICHEN. Sie hoffen, dass mindestens eine oder mehrere Personen Ihren Kanal abholen, um Ihre Nachrichten in der Radiosendung anzuhören (ABONNIEREN) und vielleicht sogar etwas unternehmen, aber Sie sprechen nicht direkt mit den Leuten .

Viel Spaß mit redis-cli!

redis 127.0.0.1:6379> PUBLISH myradioshow "Good morning everyone!"
(integer) 0
redis 127.0.0.1:6379> PUBLISH myradioshow "How ya'll doin tonight?"
(integer) 0
redis 127.0.0.1:6379> PUBLISH myradioshow "Hello? Is anyone listening? I'm not wearing pants."
(integer) 0

Beachten Sie, dass keine Clients die Nachrichten auf Ihrem "myradioshow"-Kanal erhalten (das ist die 0 in der Antwort). Niemand hört zu. Öffnen Sie jetzt ein weiteres Redis-Cli (oder für mehr Spaß lassen Sie einen Freund sein Redis-Cli öffnen und sich mit Ihrem Server verbinden) und ABONNIEREN Sie den Kanal:

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

Gehen Sie zurück zu Ihrem ursprünglichen redis-cli und setzen Sie Ihre Show fort:

redis 127.0.0.1:6379> PUBLISH myradioshow "Next caller gets a free loaf of bread!"
(integer) 1

Beachten Sie, dass "1" am Ende? Du hast einen Zuhörer! Wie von Zauberhand in Ihrem SUBSCRIBE-d-Terminal:

1) "message"
2) "myradioshow"
3) "Next caller gets a free loaf of bread!"

In Wirklichkeit werden Sie wahrscheinlich Dinge tun wollen, die nützlicher sind, als Ihren Kunden von Ihrem hosenlosen Lebensstil zu erzählen, wie z. B. das Auslösen von Ereignissen auf Ihrem Server oder das Ausführen von Aufgaben/Jobs. Vielleicht aber nicht! :)