Maison  >  Article  >  base de données  >  Comment comprendre la file d'attente de messages Redis

Comment comprendre la file d'attente de messages Redis

silencement
silencementoriginal
2019-06-06 14:46:393818parcourir

Comment comprendre la file d'attente de messages Redis

Queue

est un tableau linéaire spécial. La particularité est qu'il permet uniquement les opérations de suppression au début du tableau. et l'opération d'insertion est effectuée à l'arrière de la table. Comme la pile, la file d'attente est une table linéaire avec des opérations limitées. L'extrémité qui effectue l'opération d'insertion est appelée la queue de la file d'attente, et l'extrémité qui effectue l'opération de suppression est appelée la tête de la file d'attente.

La file d'attente des messages

est un conteneur qui enregistre les messages lors de leur transmission. (Tutoriel Redis)

File d'attente des messages dans Redis

Dans Redis, vous pouvez utiliser les commandes de publication et d'abonnement intégrées pour compléter "message push" et la fonction "Message pull" implémente la file d'attente des messages. Cependant, un inconvénient de cette méthode est que les consommateurs doivent être en ligne en même temps, sinon la consommation sera manquée.

La file d'attente des messages utilise généralement un cluster indépendant dédié au stockage des messages, qui peuvent être stockés en mémoire ou directement sur disque. Par exemple, les plus courants : RabbitMQ, kafka, rocketMQ, ActiveMQ, zeromq, etc. Ils ont des caractéristiques différentes et adoptent diverses implémentations, adaptées à la distribution de tâches de message dans divers scénarios. Mais leur rôle essentiel est le même que celui de la « file d'attente » Java dans l'environnement à instance unique mentionné ci-dessus : un conteneur qui enregistre les messages lors de la transmission des messages. C'est juste qu'il est converti en un environnement "distribué".

List (essentiellement une liste chaînée bidirectionnelle) et zset (ensemble ordonné) dans Redis peuvent être utilisés comme conteneurs pour les "files d'attente de messages". Avec un peu de traitement, une "file d'attente de messages" hautement disponible peut être réalisée. . La « file d'attente de messages » « légère » implémentée à l'aide de redis présente trois avantages majeurs :

1 Désormais, redis est largement utilisé dans les principaux systèmes, et il n'est pas nécessaire d'introduire d'autres frameworks tiers et. Encore des API.

2. Et redis est basé sur le stockage en mémoire, et la vitesse d'accès des producteurs et des consommateurs est très rapide.

3. La capacité du cluster Redis peut être étendue en ajoutant des instances.

Si vous remplissez les trois conditions ci-dessus, vous pouvez implémenter une simple « file d'attente de messages ».

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!

Déclaration:
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