Maison > base de données > Redis > le corps du texte

Introduction et implémentation de la fonction de publication et d'abonnement de Redis

WBOY
Libérer: 2023-05-10 20:55:34
original
2568 Les gens l'ont consulté

Redis est un système de stockage de structures de données en mémoire open source populaire qui prend en charge une variété de structures de données, notamment des chaînes, des hachages, des listes, des ensembles et des ensembles ordonnés. En plus de ces structures de données de base, Redis fournit également de nombreuses fonctions avancées, dont la fonction de publication et d'abonnement. Cet article présentera la fonction de publication et d'abonnement de Redis, y compris ses principes de base et comment la mettre en œuvre dans Redis.

1. Principes de base de Redis publier et s'abonner

Publier et s'abonner est un modèle de messagerie dans lequel l'éditeur n'envoie pas directement de messages aux abonnés, mais envoie des messages à un canal (canal). Les abonnés écoutent des chaînes spécifiques pour obtenir les messages envoyés par les éditeurs. Dans Redis, ce modèle est appelé publication-abonnement.

Dans Redis, les éditeurs envoient des messages à des chaînes spécifiques, et ces chaînes sont souscrites par les abonnés. Lorsqu'un éditeur envoie un message à une chaîne, tous les abonnés à la chaîne recevront le message. Ce modèle est utile pour les applications ayant des exigences élevées en temps réel, telles que les salons de discussion et l'analyse de données en temps réel.

2. Implémentation de Redis publier et s'abonner

Redis fournit plusieurs commandes pour prendre en charge le modèle de publication et d'abonnement. Jetons un coup d'œil à l'utilisation et à l'implémentation spécifique de ces commandes.

  1. Commande PUBLISH

La commande PUBLISH est utilisée pour envoyer des messages au canal spécifié. Sa syntaxe est la suivante :

PUBLISH canal message

où canal est le nom de la chaîne, et message est le message à envoyer. Par exemple, pour envoyer un message à une chaîne nommée "news", vous pouvez utiliser la commande suivante :

PUBLISH news "Bonjour tout le monde!"

  1. Commande SUBSCRIBE

La commande SUBSCRIBE est utilisée pour s'abonner à un ou plusieurs canaux. Sa syntaxe est la suivante :

SUBSCRIBE canal [canal …]

Par exemple, pour vous abonner à deux chaînes nommées « news » et « météo », vous pouvez utiliser la commande suivante :

SUBSCRIBE news météo

Quand de nouvelles actualités est publié Lorsqu'il atteint un canal abonné, Redis enverra le message à l'abonné, et l'abonné pourra traiter le message.

  1. Commande UNSUBSCRIBE

La commande UNSUBSCRIBE est utilisée pour se désinscrire d'une ou plusieurs chaînes. Sa syntaxe est la suivante :

UNSUBSCRIBE [channel [channel …]]

Par exemple, pour vous désabonner d'une chaîne nommée « news », vous pouvez utiliser la commande suivante :

UNSUBSCRIBE news

Lorsqu'un abonné se désabonne d'un canal, Redis Aucun autre message pour ce canal ne lui sera envoyé.

  1. Commande PSUBSCRIBE

La commande PSUBSCRIBE est utilisée pour s'abonner à une ou plusieurs chaînes via des modèles. Sa syntaxe est la suivante :

PSUBSCRIBE pattern [pattern …]

où pattern est une expression générique, par exemple, "news.*" peut correspondre à toutes les chaînes dont les noms commencent par "news.".

  1. Commande PUNSUBSCRIBE

La commande PUNSUBSCRIBE est utilisée pour annuler une ou plusieurs chaînes souscrites via un modèle. Sa syntaxe est la suivante :

PUNSUBSCRIBE [pattern [pattern …]]

Par exemple, pour vous désabonner des chaînes nommées "news." et "weather." via des patterns, vous pouvez utiliser la commande suivante :

PUNSUBSCRIBE news. météo.

Lorsqu'un abonné s'abonne à une chaîne en utilisant un modèle, Redis fera correspondre tous les noms de chaînes qui satisfont à l'expression générique, puis enverra des messages pour ces chaînes à l'abonné.

3. Exemple de publication et d'abonnement Redis

Ce qui suit est un exemple simple pour montrer comment utiliser le modèle de publication et d'abonnement Redis.

  1. Ouvrez deux fenêtres de console et connectez-vous respectivement au serveur Redis :

redis-cli

  1. Utilisez la commande SUBSCRIBE dans la première fenêtre pour vous abonner à la chaîne nommée "news":

SUBSCRIBE news

  1. Utilisez la commande PUBLIER dans la deuxième fenêtre pour envoyer un message à la chaîne nommée "news" :

PUBLISH news "Bonjour tout le monde !"

  1. Vous pouvez voir dans la première fenêtre que le message a été reçu :

1) "message"
2) "news"
3) "Bonjour tout le monde!"

Dans cet exemple, nous créons un abonné à une chaîne nommée "news" puis dans une autre. Utilisez la commande PUBLIER dans une fenêtre pour envoyer un message à la chaîne. Une fois que l'abonné a reçu le message, imprimez-le sur la console.

Conclusion

Cet article présente la fonction de publication et d'abonnement de Redis, y compris ses principes de base et ses méthodes d'implémentation dans Redis. Par rapport à d'autres files d'attente de messages, la fonction de publication et d'abonnement de Redis est très simple, facile à utiliser et à mettre en œuvre, et présente les avantages d'un débit élevé et d'une faible latence. En utilisant la fonctionnalité de publication-abonnement de Redis, vous pouvez facilement créer de puissantes applications en temps réel, telles que des salons de discussion, le traitement de données en temps réel, etc.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!