Latest web development tutorials

Redis publication et abonnement

Redis publish-subscribe (pub / sub) est un mode de messagerie: l'expéditeur (pub) pour envoyer un message, les abonnés (sub) recevoir des messages.

Redis client peut souscrire à un certain nombre de canaux.

La figure ci-dessous montre le channel1 de canal, et vous abonner à la chaîne trois clients - la relation client2, client5 et entre client1:

pubsub1

Lorsqu'un nouveau message est envoyé à la chaîne par channel1 commande PUBLIER, ce message sera envoyé pour vous abonner à ses trois clients:

pubsub2

Exemples

L'exemple suivant montre comment cela fonctionne publication et d'abonnement. Dans notre exemple , nous avons créé unredisChat canal d'abonnement appelé:

redis 127.0.0.1:6379> SUBSCRIBE redisChat

Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1

Maintenant, nous allons ré-ouvrir un client Redis, puis publier un message redisChat deux fois dans le même canal, les abonnés seront en mesure de recevoir le message.

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"

(integer) 1

redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by w3big.com"

(integer) 1

# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by w3big.com"

Redis publier et commande abonner

Le tableau ci-dessous répertorie les Redis publient subscribe commandes fréquemment utilisées:

Non. Commande et la description
1 motif PSUBSCRIBE [motif ...]
Abonnez-vous à un ou plusieurs correspondre à un modèle donné de canaux.
2 PubSub subcommand [arguments [arguments ...] ]
Voir l'abonnement et l'état du système d'édition.
3 PUBLIER message de canal
Les informations sont envoyées sur le canal spécifié.
4 PUNSUBSCRIBE [motif [motif ...]]
Se désabonner de tous les canaux donnés motif.
5 ABONNEZ - canal [Canal ...]
Abonnez-vous à l'information donnée à un ou plusieurs canaux.
6 UNSUBSCRIBE [canal [Canal ...]]
Elle se réfère à vous désabonner d'un canal donné.