Publish/subscribe est un paradigme assez simple. Pensez-y comme si vous dirigiez un talk-show sur une station de radio. C'est PUBLIER. Vous espérez qu'au moins une ou plusieurs personnes capteront votre chaîne pour écouter vos messages dans l'émission de radio (ABONNEMENT) et peut-être même pour faire quelque chose, mais vous ne parlez pas aux gens. directement .
Amusons-nous un peu avec 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
Remarquez qu'il n'y a aucun client qui reçoit les messages sur votre canal "myradioshow" (c'est le 0 dans la réponse). Personne n'écoute. Maintenant, ouvrez un autre redis-cli (ou pour plus de fun, demandez à un ami d'ouvrir son redis-cli et de se connecter à votre serveur) et SUBSCRIBE au canal :
redis 127.0.0.1:6379> SUBSCRIBE myradioshow
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "myradioshow"
3) (integer) 1
Retournez à votre redis-cli original et continuez votre spectacle :
redis 127.0.0.1:6379> PUBLISH myradioshow "Next caller gets a free loaf of bread!"
(integer) 1
Vous avez remarqué le "1" à la fin ? Vous avez un auditeur ! Comme par magie, dans votre terminal SUBSCRIBE-d :
1) "message"
2) "myradioshow"
3) "Next caller gets a free loaf of bread!"
Bien sûr, dans la réalité, vous voudrez probablement faire des choses plus utiles que d'informer vos clients de votre mode de vie sans pantalon, comme déclencher des événements sur votre serveur ou exécuter des tâches. Mais peut-être pas ! :)