Publikuj/subskrybuj to dość prosty paradygmat. Pomyśl o tym jak o prowadzeniu talk show w stacji radiowej. To jest OPUBLIKUJ. Masz nadzieję, że co najmniej jedna osoba wybierze Twój kanał, aby posłuchać Twoich wiadomości w audycji radiowej (SUBSCRIBE), a może nawet coś zrobić, ale nie rozmawiasz z ludźmi bezpośrednio .
Pobawmy się z 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
Zauważ, że nie ma klientów odbierających wiadomości na twoim kanale "myradioshow" (to 0 w odpowiedzi). Nikt nie słucha. Teraz otwórz inny redis-cli (lub dla zabawy, niech znajomy otworzy swoje redis-cli i połączy się z twoim serwerem) i SUBSKRYBUJ kanał:
redis 127.0.0.1:6379> SUBSCRIBE myradioshow
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "myradioshow"
3) (integer) 1
Wróć do oryginalnego redis-cli i kontynuuj pokaz:
redis 127.0.0.1:6379> PUBLISH myradioshow "Next caller gets a free loaf of bread!"
(integer) 1
Zauważ, że „1” na końcu? Masz słuchacza! Jak magia, w terminalu SUBSCRIBE-d:
1) "message"
2) "myradioshow"
3) "Next caller gets a free loaf of bread!"
Oczywiście w rzeczywistości prawdopodobnie będziesz chciał robić rzeczy, które są bardziej przydatne niż opowiadanie klientom o swoim stylu życia bez majtek, takich jak zwalnianie zdarzeń na serwerze lub wykonywanie jakiegoś rodzaju zadań/prac. Może jednak nie! :)