Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

O que é o Redis pubsub e como posso usá-lo?


Publicar/assinar é um paradigma bastante simples. Pense nisso como se você estivesse executando um talk show em uma estação de rádio. Isso é PUBLICAR. Você espera que pelo menos uma ou mais pessoas peguem seu canal para ouvir suas mensagens no programa de rádio (INSCREVA-SE) e talvez até fazer algumas coisas, mas você não está falando com as pessoas diretamente .

Vamos nos divertir com 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

Observe que não há clientes recebendo as mensagens em seu canal "myradioshow" (esse é o 0 na resposta). Ninguém está ouvindo. Agora, abra outro redis-cli (ou, para momentos mais divertidos, peça a um amigo que abra seu redis-cli e conecte-se ao seu servidor) e INSCREVA-SE no canal:
redis 127.0.0.1:6379> SUBSCRIBE myradioshow
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "myradioshow"
3) (integer) 1

Volte ao seu redis-cli original e continue seu show:
redis 127.0.0.1:6379> PUBLISH myradioshow "Next caller gets a free loaf of bread!"
(integer) 1

Observe que "1" no final? Você tem um ouvinte! Como mágica, no seu terminal SUBSCRIBE-d:
1) "message"
2) "myradioshow"
3) "Next caller gets a free loaf of bread!"

Claro, na realidade, você provavelmente vai querer fazer coisas que são mais úteis do que contar a seus clientes sobre seu estilo de vida sem calças, como disparar eventos em seu servidor ou executar algum tipo de tarefa/trabalho. Talvez não! :)