sql >> Base de Datos >  >> NoSQL >> Redis

¿Qué es Redis pubsub y cómo lo uso?

Publicar/suscribir es un paradigma bastante simple. Piense en ello como si estuviera ejecutando un programa de entrevistas en una estación de radio. Eso es PUBLICAR. Esperas que al menos una o más personas elijan tu canal para escuchar tus mensajes en el programa de radio (SUSCRÍBETE) y tal vez incluso hagan algunas cosas, pero no estás hablando con la gente directamente. .

¡Vamos a divertirnos con redis-cli!

redis 127.0.0.1:6379> PUBLISH myradioshow "Good morning everyone!"
(integer) 0
redis 127.0.0.1:6379> PUBLISH myradioshow "How ya'll doin tonight?"
(integer) 0
redis 127.0.0.1:6379> PUBLISH myradioshow "Hello? Is anyone listening? I'm not wearing pants."
(integer) 0

Observe que no hay clientes que reciban los mensajes en su canal "myradioshow" (ese es el 0 en la respuesta). Nadie está escuchando. Ahora, abre otro redis-cli (o, para más diversión, haz que un amigo abra su redis-cli y se conecte a tu servidor) y SUSCRÍBETE al canal:

redis 127.0.0.1:6379> SUBSCRIBE myradioshow
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "myradioshow"
3) (integer) 1

Regrese a su redis-cli original y continúe con su programa:

redis 127.0.0.1:6379> PUBLISH myradioshow "Next caller gets a free loaf of bread!"
(integer) 1

¿Te das cuenta de que "1" al final? ¡Tienes un oyente! Como magia, en tu terminal SUBSCRIBE-d:

1) "message"
2) "myradioshow"
3) "Next caller gets a free loaf of bread!"

Por supuesto, en realidad, probablemente querrá hacer cosas que sean más útiles que contarles a sus clientes sobre su estilo de vida sin pantalones, como activar eventos en su servidor o ejecutar algún tipo de tareas/trabajos. ¡Quizás no! :)