English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Publicação e Assinatura Redis

Publicação e assinatura Redis (pub/sub) é um modelo de comunicação de mensagens: o remetente (pub) envia mensagens, e o assinante (sub) recebe mensagens.

O cliente Redis pode assinar qualquer quantidade de canais.

A figura a seguir mostra o canal channel1 , e os três clientes que assinaram esse canal - client2 、 client5 e client1 entre eles:

Quando há novas mensagens enviadas para o canal channel1 Quando, neste caso, a mensagem é enviada para o cliente assinante através do comando PUBLISH para o canal channel

Exemplo online

A seguir, é demonstrado como o modelo de publicação e assinatura funciona, é necessário iniciar dois redis-cliente cli.

Nossos exemplos mostram que criamos um canal de assinatura chamado w3codeboxChat:

primeiro redis-cliente cli

redis 127.0.0.1:6379> SUBSCRIBE w3codeboxChat
Lendo mensagens... (pressione Ctrl-C para sair)
1) "subscribe"
2) "redisChat"
3) (integer) 1

Agora, vamos reiniciar um cliente redis, e em mesmo canal w3codeboxChat publica duas mensagens, e o assinante pode receber as mensagens.

segundo redis-cliente cli

redis 127.0.0.1:6379> PUBLISH w3codeboxChat "Redis PUBLISH test"
(integer) 1
redis 127.0.0.1:6379> PUBLISH w3codeboxChat "Learn redis by oldtoolbag.com"
(integer) 1
# A mensagem do cliente assinante será exibida da seguinte forma
 1) "message"
2) "w3codeboxChat"
3) "Redis PUBLISH test"
 1) "message"
2) "w3codeboxChat"
3) "Learn redis by oldtoolbag.com"

O processo é o seguinte:

  • Inicie o serviço local do Redis, inicie dois redis-cliente cli.

  • emprimeiro redis-cliente cliInserir SUBSCRIBE w3codeboxChat, significa assinar w3canal codeboxChat.

  • emsegundo redis-cliente cliInserir PUBLISH w3codeboxChat "Redis PUBLISH test" para w3codeboxChat canal, neste momento no primeiro redis-O cliente cli verá a mensagem enviada pelo segundo redis-Mensagem de teste enviada pelo cliente cli.

Comandos de Publicação e Assinatura Redis

A tabela a seguir lista os comandos comuns de publicação e assinatura do redis:

NúmeroComando e Descrição
1PSUBSCRIBE padrão [padrão ...]
Assinar um ou mais canais que correspondem ao padrão especificado.
2PUBSUB subcomando [argumento [argumento ...]]
Ver o estado do sistema de publicação e assinatura.
3PUBLISH canal mensagem
Enviar informações para o canal especificado.
4PUNSUBSCRIBE [padrão [padrão ...]]
Desistir de todos os canais especificados pelo padrão.
5SUBSCRIBE canal [canal ...]
Assinar informações de um ou mais canais especificados.
6UNSUBSCRIBE [canal [canal ...]]
Desistir de assinar o canal especificado.