Cancelar Inscrição com UNSUBSCRIBE
Nesta etapa, você aprenderá como cancelar a inscrição de um canal no Redis usando o comando UNSUBSCRIBE. Cancelar a inscrição remove um cliente da lista de assinantes de um canal específico, impedindo-o de receber mensagens futuras publicadas nesse canal.
Terminal 1: Sair do Modo de Assinatura
Vá para o Terminal 1 (onde você está atualmente inscrito em mychannel). Você deverá ver o status da assinatura mostrando "Reading messages... (press Ctrl-C to quit)".
Como o Terminal 1 está no modo de assinatura, você não pode executar comandos Redis regulares diretamente. Para cancelar a inscrição, você precisa primeiro sair do modo de assinatura:
-
Pressione Ctrl+C para sair do modo de assinatura
-
Você deverá ver que a sessão do redis-cli termina e retorna ao prompt do terminal
-
Reconecte-se ao Redis:
redis-cli
-
Agora você pode executar o comando UNSUBSCRIBE (embora não seja necessário, pois a desconexão já cancelou sua inscrição):
UNSUBSCRIBE mychannel
Nota: Ao pressionar Ctrl+C, você na verdade já se desconectou de todas as assinaturas. O comando UNSUBSCRIBE é mostrado para fins de demonstração, mas na prática, desconectar cancela automaticamente sua inscrição de todos os canais.
A saída no Terminal 1 será semelhante a esta:
1) "unsubscribe"
2) "mychannel"
3) (integer) 0
Vamos analisar a saída:
"unsubscribe": Isso indica que você cancelou a inscrição de um canal.
"mychannel": Este é o nome do canal do qual você cancelou a inscrição.
(integer) 0: Este é o número de canais aos quais você está atualmente inscrito. Agora é 0 porque você cancelou a inscrição de mychannel.
Terminal 2: Testar Publicação Após Cancelamento de Inscrição
Agora mude para o Terminal 2 e publique outra mensagem em mychannel:
PUBLISH mychannel "Is anyone still there?"
A saída no Terminal 2 será:
(integer) 0
Isso indica que nenhum cliente recebeu a mensagem porque você cancelou a inscrição do canal no Terminal 1.
Verificar se Nenhuma Mensagem Foi Recebida
Olhe para o Terminal 1 - você deverá notar que nenhuma nova mensagem aparece porque você cancelou a inscrição do canal.
Isso demonstra como cancelar a inscrição de um canal impede que você receba mensagens futuras publicadas nesse canal, enquanto o publicador ainda pode enviar mensagens (mas ninguém as receberá).
Importante: Mantenha ambos os terminais e suas sessões do redis-cli ativos para a próxima etapa.