Redis xgroup

Redis xgroup
Les flux Redis ont été introduits à partir de la version 5.0 qui représente une structure de données de journal traditionnelle à ajouter uniquement. Les flux Redis sont plus avancés qu'un journal habituel où il prend en charge les groupes de consommateurs et l'accès plus rapide aux éléments du flux.

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:

  • Chaque entrée sera consommée par un consommateur différent sur trois consommateurs à un moment donné. Aucune entrée n'est consommée par deux consommateurs ou plus à la fois.
  • Un accusé de réception explicite est nécessaire pour informer que les messages poussés ont été correctement consommés par un consommateur.
  • Consumer Group 1 détient le dernier identifiant d'entrée livré et chaque fois qu'un consommateur demande de nouveaux messages, il fournit les derniers messages uniquement.
  • Chaque fois qu'un consommateur interroge l'histoire des entrées appartenant à un flux donné, il affichera uniquement les messages qui sont livrés à ce consommateur particulier.
    • Consommateur 2 ne voit que Query2: msg2 et Query5: Entrées MSG5 comme historique des messages appartenant au 'UserQueries'

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 Xgroup

Le 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:

Xgroup Create Stream_Key Group_name Entry_id | $ [mkstream] [EntriesRead entries_read]

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.

Xgroup CreateConsumer Stream_key Group_name Consumer_name

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:

Xgroup Delconsumer Stream_key Group_name Consumer_name

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.

Xgroup détruire stream_key group_name

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.

Xgroup setID Stream_Key Group_name Entry_id | $ [entresread entrées_read]

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.