Redis Cluster Keyslot

Redis Cluster Keyslot

Redis haute disponibilité

Redis est un magasin de données à faible latence en mémoire qui fournit les fonctionnalités de la baisse et de la réplication de la boîte. Il garantit la haute disponibilité de l'instance Redis à ses parties prenantes. Les deux mécanismes suivants ont été utilisés dans le magasin de données Redis pour fournir une haute disponibilité.

  • Échelle horizontale avec regroupement
  • Redis Sentinel

La mise à l'échelle horizontale se concentre toujours sur l'augmentation du nombre d'instances au lieu de croître la puissance de calcul par instance. Le clustering redis est basé sur la mise à l'échelle horizontale, où un ensemble de nœuds s'occupe du fonctionnement continu de l'instance.

Cluster redis

Le cluster Redis se compose de plusieurs nœuds où chaque nœud contient une gamme de créneaux de hachage. Habituellement, un cluster a 16384 emplacements de hachage. Chaque clé Redis est associée à un emplacement de hachage, et pour calculer la fente de hachage par touche, Redis utilise le CRC16 des algorithmes Redis Key Modulo 16384. Il est basé sur la technique maître-replica où un nœud maître échoue, et la réplique respective se tire et continue de fonctionner au nom du nœud échoué.

Supposons que le nœud X échoue en raison d'une défaillance du réseau. Ensuite, le cluster Redis attribuera la charge de travail du nœud X au nœud de réplique X1, ce qui garantira un fonctionnement lisse. De plus, les clusters Redis peuvent diviser automatiquement les données entrantes en différents nœuds.

Commandes de cluster redis

Plusieurs commandes sont disponibles à utiliser contre les clusters redis. La commande de cluster est une commande de conteneur qui a plusieurs sous-communs. Vous pouvez utiliser le grappe aider sous-commande pour vérifier la liste des sous-commandes disponibles avec leur utilisation.

Aide à la grappe

Comme prévu, il renvoie une réponse de tableau comme indiqué dans ce qui suit.

Sortir:

Dans ce guide, nous nous concentrerons sur le Keyslot sous-commande qui est associé à la commande de conteneur GRAPPE.

Commande redis keyslot

Le Keyslot La commande est utilisée pour vérifier la valeur de l'emplacement de hachage pour une clé redis donnée qui renvoie une valeur entière. Chaque fois que vous avez besoin de connaître le nœud associé pour une clé spécifique, cette commande sera utile. Un autre cas d'utilisation serait de tester vos algorithmes de hachage en les comparant aux hachages générés par cette commande et en vérifiant la similitude. De plus, le Keyslot La commande a une complexité de temps linéaire.

Syntaxe

Ce qui suit est la syntaxe du redis Keyslot sous-commande.

Cluster keyslot redis_key

redis_key: C'est l'identifiant unique que nous utilisons dans les magasins de données redis pour identifier toute valeur stockée.

Cette commande renvoie la valeur de l'emplacement de hachage de la clé redis spécifiée stockée. Habituellement, cette valeur est un entier allant de 0 à 16383 pour un cluster donné.

Exemple 01 - Inspectez la fente de hachage et le nœud de cluster pour une clé donnée

Créons un cluster redis avec six nœuds où trois d'entre eux sont des nœuds maîtres, et les autres sont des répliques. Nous pouvons utiliser le Machines à sous Sous-commande pour vérifier comment les nœuds ont été affectés avec les emplacements de hachage.

Slots en grappes

Comme prévu, les informations de cluster ont été publiées comme dans ce qui suit.

Ajoutons quelques clés à notre cluster redis, comme indiqué dans ce qui suit.

Définir le voyageur: 1: Place la France
Définir le voyageur: 2: Place India

Maintenant, nous pouvons utiliser le Keyslot sous-commande pour vérifier quelles sont les créneaux de hachage qui ont été attribués.

Cluster Keyslot Traveler: 1: Place

La sortie ressemble à ce qui suit.

Il a renvoyé l'Intier 8963, ce qui signifie que la fente de hachage est 8963. Il doit se situer dans la plage 5461 - 10922, illustré dans la sortie suivante.

Le nœud maître est 6001, et cette clé doit y être stockée. La même procédure peut être suivie pour identifier le nœud pour le Voyageur: 2: Place clé.

Exemple 02 - Gestion de plusieurs clés par le même nœud redis

Le Keyslot La commande prend en charge les hashtags où l'algorithme de hachage de la clé de cluster redis hache uniquement les caractères entre le et . Chaque fois qu'une clé redis suit le motif mentionné, il générera la machine à sous en fonction des caractères à l'intérieur des accolades bouclées, et les autres caractères ne sont pas considérés. Avec les hashtags, nous pouvons forcer à stocker plusieurs clés dans le même nœud, comme indiqué dans ce qui suit.

Créons quelques paires de valeurs clés, comme indiqué dans ce qui suit.

Définir l'utilisateur: 1: Carcolor Common_hash Red
Définir l'utilisateur: 2: Carcolor Common_hash Blue

Comme le montre l'exemple, les clés contiennent le hashtag commun Common_hash. Par conséquent, les deux valeurs de sous de hachage qui sont générées par l'algorithme de hachage de la clé Redis Cluster seront les mêmes pour les deux clés. Vérifions les emplacements de hachage pour les deux clés en utilisant le Keyslot sous-commande, comme indiqué dans ce qui suit.

Cluster Keyslot User: 2: Carcolor Common_hash
Cluster Keyslot User: 1: Carcolor Common_hash

Comme prévu, les deux commandes renvoient la même valeur de machine à sous de hachage, 8276, ce qui signifie que les clés sont stockées dans le même nœud. Selon les exemples ci-dessus, vous pouvez voir à quel point le Keyslot La commande est lorsqu'il traite des clusters redis.

Conclusion

Pour résumer, Redis prend en charge le fragment, la réplication et la haute disponibilité par échelle horizontale. La mise à l'échelle horizontale a été réalisée en utilisant les clusters redis. Comme discuté, chaque cluster est une collection de nœuds où un nœud peut contenir plusieurs emplacements de hachage. Un cluster peut contenir 16384 emplacements de hachage maximum et environ 1000 nœuds. Comme cité, les clusters Redis suivent la technique de maître-replica où un nœud maître échoue, et la réplique commencera à fonctionner au nom du nœud défaillant. Redis a une liste de commandes pour opérer sur des clusters. Le Keyslot La commande est une de celles qui est utilisée pour obtenir la valeur de l'emplacement de hachage pour une clé de redis spécifique. Cette commande prend également en charge les hashtags.