Cómo enviar y recibir mensajes con Redis PubSub

Cómo enviar y recibir mensajes con Redis PubSub
Aunque Redis es famoso como una base de datos y un mecanismo de almacenamiento en caché, proporciona un modelo de editor-subscriber. Mediante el uso de Pub-Sub, cualquier número de usuarios puede suscribirse a canales y recibir mensajes enviados a esos canales por los editores.

Veamos cómo implementar el modelo Redis Pub-sub en este artículo. Para la diversidad, no optaremos por ningún lenguaje de programación. En su lugar, utilizaremos los comandos RAW REDIS para lograr esto.

Cómo funciona Pub-sub

El modelo de pub-sub es bastante sencillo. Comenzamos creando un canal al que un usuario puede suscribirse.

Una vez que un usuario se suscribe a un canal, no puede enviar ningún comando al servidor. Sin embargo, el creador del canal (editor) puede enviar comandos y publicar mensajes al servidor.

Tenga en cuenta que un solo usuario puede suscribirse a múltiples canales simultáneamente.

Suscribirse a un canal

Para implementar PUB-Sub, abra el terminal e inicie sesión en Redis CLI. Ahora podemos suscribirnos a un canal utilizando el comando suscribirse y el nombre de los canales para suscribirse a.

Ejemplo:

Suscribir chat_room_1 chat_room_2

El comando anterior debe suscribirse a canales llamados chat_room_1 y chat_room_2.

En este punto, el usuario puede leer cualquier mensaje que se publique en estos canales.

Mensajes de publicación

A continuación, abra una nueva ventana de terminal y conéctese al servidor Redis. Una vez conectados, podemos publicar mensajes en los canales como:

127.0.0.1: 6379> Publicar chat_room_1 "Hola a todos, bienvenido a la sala de chat 1"
(entero) 1

El comando anterior debe publicar el mensaje en el canal uno, donde los suscriptores pueden recibirlo.

Vaya a la sesión de la terminal de suscriptores para verificarla.

El mensaje recibido en la ventana del suscriptor se compone de tres componentes principales:

  1. Observe que indica el mensaje.
  2. El canal al que se envió el mensaje.
  3. El contenido del mensaje.

Nota: Publicar un mensaje a un canal que no existe (lo que significa que no hay suscriptores) obliga a Redis a descartar el mensaje y devolver 0.

Ejemplo:

127.0.0.1: 6379> Publicar el nomesaje de nochannal
(entero) 0

Conclusión

Este artículo cubre cómo usar el modelo Redis Pub-sub a través de un tutorial simple. Al usar comandos RAW REDIS y abstenerse del lenguaje de programación, los lectores deben poder enviar y recibir mensajes con Redis Pub-sub al final de este artículo.