Um único usuário pode se inscrever em vários canais e visualizar as mensagens dos editores enviados para esse canal. Eles também podem cancelar a inscrição no canal a qualquer momento.
Este tutorial aprenderá como implementar um modelo simples de inscrição de publicação usando Redis.
É bom observar que usaremos comandos nativos de redis e não um código personalizado em Python, Ruby, JavaScript ou outros.
Redis Pub comandos.
Ao trabalhar com o modelo Publish-inscrição em Redis, dois comandos principais entram em jogo:
Esses comandos são diretos e descrevem a função que eles assumem. Por exemplo, o comando de assinatura é usado para assinar um cliente em um canal ou canal específico.
O comando de publicação permite que um remetente ou editor envie uma mensagem para um número específico de canais.
Modelo básico de sub-sub-sub
Este tutorial implementará um modelo simples de pub-sub para mostrar como funciona em redis.
Para isso, você precisará de um cluster Redis em funcionamento no seu sistema.
Comece abrindo três sessões terminais e inicie a CLI Redis em cada uma delas.
Depois de abrir e configurar todos os terminais, use um dos terminais para se inscrever em um canal.
O comando de assinatura toma o nome do canal como o argumento. A sintaxe geral pode ser representada como:
SE INSCREVER
O nome vai depender inteiramente de você e você pode nomear o que quiser. Por exemplo, no comando abaixo, assinamos um canal chamado Linuxhint.
127.0.0.1: 6379> Inscreva -se Linuxhint
Ler mensagens… (pressione Ctrl-C para sair)
1) "Inscreva -se"
2) "Linuxhint"
3) (número inteiro) 1
No exemplo acima, assinamos um canal chamado Linuxhint, e podemos começar a receber qualquer mensagem publicada para esse canal.
Use -o para publicar uma mensagem no canal Linuxhint no segundo terminal.
Use o comando de publicação seguido pelo nome do canal e a mensagem para publicar.
Por exemplo:
127.0.0.1: 6379> Publicar Linuxhint "Olá, todos!"
(Inteiro) 1
Preste atenção ao primeiro terminal e execute o comando acima. Você notará que a mensagem aparece automaticamente no canal onde o usuário assinou.
Um exemplo de saída no terminal do assinante é como mostrado:
1) "Mensagem"
2) "Linuxhint"
3) "Olá a todos!"
Ele contém o tipo, neste caso, uma mensagem, o canal e o conteúdo real da mensagem.
Nota: Quando você precisar publicar uma mensagem, você pode incluí -la em aspas, e Redis o tratará como uma única mensagem, em vez de comandar argumentos.
No terceiro terminal, nós o usaremos para assinar vários canais usando o comando PSUBSCRECRECK.
O comando PSubScribe pega um padrão específico e assina o usuário a esses canais.
Por exemplo, para se inscrever em todos os canais que começam com os caracteres Linux, podemos definir o comando como:
127.0.0.1: 6379> PsubScribe Linux*
Ler mensagens… (pressione Ctrl-C para sair)
1) "Psubscribe"
2) "Linux*"
3) (número inteiro) 1
Depois de executar o comando acima, se publicarmos uma mensagem para qualquer canal com o nome Linux, o assinante (no terminal 3) receberá a mensagem.
Por exemplo, no segundo terminal, execute os seguintes comandos:
127.0.0.1: 6379> Publicar LinuxUser "para canais LinuxUser"
127.0.0.1: 6379> Publicar Linuxhint "para canais Linuxhint"
127.0.0.1: 6379> Publicar LinuxCommander "para canais LinuxCommander"
Agora preste atenção ao terceiro terminal com o padrão assinando. Você notará que o assinante nesse terminal recebe todas as três mensagens, enquanto o do Terminal 1 recebe apenas a mensagem enviada para o canal "Linuxhint".
Como você pode ver, o comando PSUBRECCIBRE assina canais que correspondem a um padrão específico.
Fechamento
Este guia analisou o básico de usar o modelo Redis Publish-Splribe. Embora o guia cubra apenas os fundamentos, você pode expandir-o para criar aplicativos personalizados em tempo real.