Redis diminuant

Redis diminuant

Manipulation de redis entier

Le type de chaîne est le type de données le plus fondamental que Redis offre. Les chaînes Redis sont capables de stocker des textes, des objets JSON sérialisés, des images, de l'audio et même des valeurs numériques. Dans ce guide, nous nous concentrerons sur les valeurs numériques et la manipulation des entiers. Redis ne prend pas en charge les types de données entiers distincts pour maintenir les données numériques. Si une clé Redis contient une chaîne qui peut être représentée comme un entier, Redis peut interpréter les valeurs de nombre comme des entiers signés de base-10 64 bits.


La manipulation du nombre est une fonctionnalité extrêmement utile à avoir dans n'importe quelle base de données. Redis propose plusieurs opérations utiles pour travailler sur des types entiers tels que l'augmentation, la diminution, l'incrby, etc. Dans ce guide, la commande de découverte qui fonctionne sur les types entiers est expliquée en détail.

La déconnexion de la décoration

La commande de déclin est introduite pour décrémenter une valeur de nombre qui est stockée à une clé donnée par une. Cela ne fonctionne que sur des valeurs de chaîne qui peuvent être représentées comme un entier de base-10 64 bits. La commande décortiquait une erreur pour les valeurs non corrigées ou les valeurs de chaîne qui ne peuvent pas être représentées comme des entiers.

Ce qui suit est la syntaxe de la commande de diminution:

Diminuer


Clé: La clé qui contient la valeur de la chaîne.

La décrsion de la diminution renvoie l'entier signé résultant après l'opération de décrémentation. Si la touche spécifiée n'existe pas, la commande définit la valeur à 0 puis la décrémente d'un. De plus, une erreur est lancée lorsque la valeur est une non-corde ou ne peut pas être représentée comme un entier signé 64 bits. Cette commande fonctionne sur une complexité de temps constante (O (1)) qui est extrêmement rapide.

Cas d'utilisation - Décréments Santé du joueur dans un jeu en ligne

Supposons un jeu en ligne où la santé de chaque joueur est incrémentée de celle lorsqu'un média est révélé. De même, la santé diminue de l'un si le joueur tombe ou est touché par un autre joueur.

Le candidat idéal pour stocker la santé d'un joueur est un type de chaîne Redis où nous pouvons stocker la santé en tant qu'entier. Créons une clé Santé: PlayerID: 1 et définir sa valeur sur 10. Nous pouvons utiliser la commande set comme suit:

Set Santé: PlayerID: 1 10



Nous pouvons utiliser la commande get pour vérifier la valeur stockée à Santé: PlayerID: 1.

Obtenez la santé: joueurID: 1



Disons que le joueur avec l'ID 1 est frappé et que la santé devrait être diminuée d'un. La commande de décor peut être utilisée comme suit:

Diminue Santé: PlayerID: 1


Comme prévu, la commande de décor imprime la valeur mise à jour après l'opération de décrémentation comme indiqué dans la figure suivante:


De plus, nous pouvons inspecter la valeur stockée à la clé Santé: PlayerID: 1 avec la commande get.

Obtenez la santé: joueurID: 1



Comme prévu, la valeur a diminué d'un.

L'opérateur de décor est également valide avec des nombres négatifs. Stockons une nouvelle valeur numérique négative à la clé négatif: valeur1.

Définir négatif: valeur 1 -3


Nous pouvons inspecter la valeur en utilisant la commande get comme suit:

Obtenez négatif: valeur1



La commande suivante montre comment la commande de décor est utilisée sur la clé négatif: valeur1:

diminution négative: valeur1


La commande de diminution des valeurs non entières

Il y a des cas de bord lorsque nous essayons d'utiliser la commande de décor sur une clé redis qui contient un type de données non corrigées ou une chaîne qui ne peut pas être représentée comme un entier. La commande de décor lance une erreur dans ces cas comme indiqué dans l'exemple suivant:

Définir NotanIntergerval Hello


Le «Hello» est un texte qui ne peut pas être converti en un entier signé. Ainsi, la commande de déclin augmente une erreur si nous l'appelons contre cette clé.

diminuer notanintergerval


La découverte de la diminution des clés inexistantes

Dans certains cas, vous pourriez appeler la découverte de découverte sur une clé qui n'existe pas dans le magasin de données redis. Ainsi, la commande crée la clé spécifiée et définit sa valeur sur entier 0. En même temps, la valeur est diminuée d'un.

déclin inexistant


Comme prévu, la sortie est -1.


Dans l'ensemble, la commande de décor est très utile pour implémenter les compteurs dans les applications de faible latence.

Conclusion

En résumé, DEMP est l'une des commandes qui fonctionnent sur des valeurs numériques qui sont stockées à une clé redis donnée. Redis ne prend pas en charge un type de données entier distinct. Ainsi, le type de chaîne est également utilisé pour maintenir les valeurs numériques. Comme examiné, si la valeur de la chaîne peut être représentée comme un entier signé 64 bits, la commande de décor peut être utilisée pour diminuer sa valeur. Plus important encore, il fonctionne sur une complexité de temps constante. De plus, la commande de décor est largement utilisée pour implémenter les compteurs.