Pub/Sub Redis
Redis Pub/Sub (pub/sub) est un modèle de communication de messages : les expéditeurs (pub) envoient des messages, et les abonnés (sub) reçoivent des messages.
Les clients Redis peuvent s'abonner à un nombre quelconque de canaux.
Le diagramme suivant montre la relation entre channel1 et les trois clients abonnés à ce canal — client2, client5 et client1 :
Lorsqu'un nouveau message est envoyé à channel1 via la commande PUBLISH, le message est distribué aux trois clients qui y sont abonnés :
Exemple
L'exemple suivant montre comment fonctionne pub/sub. Vous devez ouvrir deux clients redis-cli.
Dans notre exemple, nous avons créé un canal d'abonnement nomméexampleChat:
Premier client redis-cli
Lecture des messages... (appuyez sur Ctrl-C pour quitter)
1) "subscribe"
2) "exampleChat"
3) (entier) 1
Maintenant, redémarrons un client Redis, puis publions deux messages sur le même canal exampleChat. L'abonné recevra les messages.
Deuxième client redis-cli
(integer) 1
redis 127.0.0.1:6379> PUBLISH exampleChat "Learn redis by example.com"
(integer) 1
# Le client de l'abonné affichera les messages suivants
1) "message"
2) "exampleChat"
3) "Redis PUBLISH test"
1) "message"
2) "exampleChat"
3) "Learn redis by example.com"
La démonstration GIF est la suivante :
Démarrez le service Redis local et ouvrez deux clients redis-cli.
DansPremier client redis-cliEntrezSUBSCRIBE exampleChat, ce qui signifie s'abonner au
exampleChatcanal.DansSecond client redis-cliEntrezPUBLISH exampleChat "Redis PUBLISH test"Envoyez un message au canal exampleChat. À ce stade, le premier client redis-cli verra le message de test envoyé par le second client redis-cli.

Commandes Redis Pub/Sub
Le tableau suivant répertorie les commandes Redis pub/sub courantes :
| Non. | Commande et description |
|---|---|
| 1 | PSUBSCRIBE pattern [pattern ...] S'abonner à un ou plusieurs canaux correspondant au motif donné. |
| 2 | PUBSUB subcommand [argument [argument ...]] Afficher l'état du système d'abonnement et de publication. |
| 3 | PUBLISH channel message Envoyer un message au canal spécifié. |
| 4 | PUNSUBSCRIBE [pattern [pattern ...]] Se désabonner de tous les canaux correspondant au motif donné. |
| 5 | SUBSCRIBE channel [channel ...] S'abonner aux informations d'un ou de plusieurs canaux donnés. |
| 6 | UNSUBSCRIBE [channel [channel ...]] Permet de se désabonner du ou des canaux donnés. |