Les flux permettent au même flux d'être consommé par différents consommateurs à l'aide de la commande xRead. Avec cela, les mêmes messages seront envoyés à plusieurs clients. Dans certains cas, nous devons pousser un sous-ensemble différent de messages du même flux à plusieurs consommateurs. Le concept des groupes de consommateurs a été mis en œuvre avec Redis Streams pour le soutenir comme dans l'illustration suivante.
Comme le montre l'illustration ci-dessus, les trois consommateurs Consumer1, Consumer2 et Consumer3 consomment différentes entrées du flux Utilisation. Chacun de ces consommateurs fait partie du groupe de consommateurs 1. Être membre du «consommateur, groupe 1» garantit les faits suivants:
La commande xgroup
Le Xgroup est la commande de conteneur pour gérer les groupes de consommateurs associés aux flux Redis. Il se compose de plusieurs sous-commandes importantes pour créer / supprimer des groupes de consommateurs et créer / supprimer des consommateurs appartenant à un groupe. La syntaxe de base de la commande xgroup est la suivante:
XGroup [[valeur] [Options]…]: Le nom de sous-commande pour des opérations comme la création et la suppression des consommateurs et des groupes de consommateurs.
: Les arguments de sous-commande si disponibles.
[valeur]: Si un argument prend une valeur, il peut être spécifié. Il est facultatif et autorisé uniquement pour certaines commandes.
Le résultat retourné variera en fonction du sous-commandement spécifié.
Les sous-communs Xgroup
Plusieurs sous-commandes sont disponibles à utiliser avec la commande xgroup. Il y a une sous-commande spéciale appelée 'aider' qui affiche toutes les sous-communs disponibles à utiliser.
Aide XgroupLe aider sous-commande renvoie un tableau de sous-commandes avec leurs descriptions.
CRÉER
Le CRÉER La sous-commande peut être utilisée pour créer un nouveau groupe de consommateurs pour un flux donné. La syntaxe est la suivante:
Cela créera un nouveau groupe de consommateurs identifié par le 'Group_name' qui est associé à la donnée 'stream_key '. Le 'Mkstream' L'option crée un nouveau flux avec la longueur de 0 si le flux spécifié n'existe pas dans le montant de données redis.
Création
Lorsque vous devez créer un consommateur pour un groupe donné, la sous-commande CreateConsumer peut être utilisée. Il accepte uniquement la clé de flux, le nom du groupe de consommateurs et un nom de consommateur unique comme arguments.
Delconsumer
Un consommateur créé peut être supprimé à l'aide de la sous-commande delconsumer avec la commande xgroup. La syntaxe de la sous-commande delconsumer est la suivante:
Notez qu'avant de supprimer un consommateur du groupe de consommateurs, c'est réclamer ou reconnaître tous les messages en attente associés au consommateur. Cette commande renverra le nombre de messages en attente associés au consommateur supprimé.
DÉTRUIRE
Chaque fois que vous avez besoin de supprimer un groupe de consommateurs avec tous les consommateurs et les messages en attente, la sous-commande détruite peut être utilisée. Donc, il est recommandé d'utiliser cette commande avec soin.
Cette commande renverra un entier 0 ou 1 qui est le décompte des groupes de consommateurs supprimés.
DÉFINIR L'IDENTIFIANT
La sous-commande setid vous permet de modifier la dernière valeur ID délivrée. Chaque fois que vous devez traiter toutes les entrées du flux, le dernier ID livré doit être défini sur 0 en utilisant la sous-commande setid.
Si le dernier ID livré a été correctement défini, la commande renvoie une chaîne simple D'ACCORD.
Conclusion
La commande xgroup Container est utilisée pour gérer les groupes de consommateurs associés à un flux donné. Le spécial AIDER La commande peut être utilisée pour afficher toutes les sous-commandes disponibles pour la commande xgroup. La création et la suppression des consommateurs et des groupes de consommateurs peuvent être effectués en utilisant les sous-communs mentionnés. De plus, la sous-commande setid prend en charge la mise à jour du dernier identifiant livré d'un groupe de consommateurs donné. Dans l'ensemble, la sortie de la commande XGroup varie avec la sous-commande utilisée.