Como enviar e receber mensagens com Redis Pubsub

Como enviar e receber mensagens com Redis Pubsub
Embora Redis seja famoso como um banco de dados e um mecanismo de cache, ele fornece um modelo de editor-assinante. Ao usar pub-sub, qualquer número de usuários pode se inscrever em canais e receber mensagens enviadas a esses canais pelos editores.

Vamos ver como implementar o modelo Redis Pub-Sub neste artigo. Para a diversidade, não optaremos por nenhuma linguagem de programação. Em vez disso, usaremos os comandos Red Redis para realizar isso.

Como funciona o pub-sub

O modelo pub-sub é bem direto. Começamos criando um canal para o qual um usuário pode se inscrever.

Depois que um usuário assina um canal, ele não pode enviar nenhum comando para o servidor. No entanto, o criador do canal (editor) pode enviar comandos e publicar mensagens para o servidor.

Lembre -se de que um único usuário pode se inscrever em vários canais simultaneamente.

Assinando um canal

Para implementar pub-sub, abra o terminal e faça login no Redis CLI. Agora podemos assinar um canal usando o comando assinando e o nome dos canais para se inscrever.

Exemplo:

Inscreva -se chat_room_1 chat_room_2

O comando acima deve se inscrever em canais chamados chat_room_1 e chat_room_2.

Neste ponto, o usuário pode ler qualquer mensagem publicada para esses canais.

Publicação de mensagens

Em seguida, abra uma nova janela do terminal e conecte -se ao servidor Redis. Uma vez conectado, podemos publicar mensagens nos canais como:

127.0.0.1: 6379> publicar chat_room_1 "Olá a todos, bem -vindo à sala de bate -papo 1"
(Inteiro) 1

O comando acima deve publicar a mensagem para canalizar um, onde os assinantes podem recebê -lo.

Vá para a sessão do terminal do assinante para verificar.

A mensagem recebida na janela do assinante é composta por três componentes principais:

  1. Observe que indica a mensagem.
  2. O canal para o qual a mensagem foi enviada.
  3. O conteúdo da mensagem.

Nota: A publicação de uma mensagem para um canal que não existe (o que significa que não há assinantes) força Redis a descartar a mensagem e retornar 0.

Exemplo:

127.0.0.1: 6379> Publique o Nocannel Nomessage
(Inteiro) 0

Conclusão

Este artigo abrange como usar o modelo de pub-sub Redis por meio de um tutorial simples. Ao usar comandos Raw Redis e abster-se da linguagem de programação, os leitores devem poder enviar e receber mensagens com o Redis Pub-Sub no final deste artigo.