Recherche…


Introduction

Redis fournit une implémentation du modèle de messagerie Publish / Subscribe (Pub / Sub). Au lieu d'envoyer des messages à des destinataires spécifiques, les éditeurs envoient des messages aux destinataires intéressés via un mécanisme d'indirection. Les récepteurs spécifient l'intérêt pour des messages particuliers. Dans Redis, cette fonctionnalité est accessible via les commandes PUBLISH et SUBSCRIBE sur les canaux.

Syntaxe

  • SUBSCRIBE channel [canal ...]
  • UNSUBSCRIBE [channel [channel ...]]
  • Message de canal de publication
  • Modèle PSUBSCRIBE [modèle ...]
  • PUNSUBSCRIBE [modèle [modèle ...]]

Remarques

Pour gérer la publication / sous dans redis, vous devez avoir un client pour vous abonner et un client différent pour la publication . Les deux ne peuvent pas être gérés par le même client. Bien que toutes les autres commandes puissent toujours être traitées avec le même client.

Publiez et abonnez-vous avec redis

Redis a publié / abonné pour envoyer des messages. Ceci est géré en vous abonnant à un canal et en publiant sur le canal. Oui, les abonnés seront abonnés à une ou plusieurs chaînes. L'éditeur n'a pas besoin de savoir qui sont tous des abonnés. Au lieu de cela, l'éditeur publiera sur un canal spécifique. Tous les abonnés abonnés à cette chaîne recevront le message. Ce découplage des éditeurs et des abonnés peut permettre une plus grande évolutivité et une topologie de réseau plus dynamique.

Exemple: L’ utilisateur s’abonne à 2 chaînes, disons foo & boo

SUBSCRIBE foo boo

Dans la console de redis-client1:

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

Il va commencer à écouter le message. Lors de la publication, vous obtiendrez des données pour le canal correspondant.

Par exemple: Lorsque vous voulez envoyer un message à tous les abonnés connectés avec boo, vous devez publier sur ce canal.

PUBLISH boo "Hello Boo"

Dans la console de redis-client1:

1) "message"
2) "boo" //channel name
3) "Hello Boo" //Actual data

Pour vous désabonner du canal à tout moment, utilisez

UNSUBSCRIBE // to unsubscribe from all channels
UNSUBSCRIBE foo // to unsubscribe from specific channel

Pouvez-vous vous abonner en fonction du modèle aussi. Lorsque le nom du canal n'est pas sûr / souhaitez vous abonner en fonction du modèle, utilisez PSUBSCRIBE .

De même pour se désabonner en fonction de l'utilisation du modèle PUNSUBSCRIBE



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow