Redis expire la clé de hachage

Redis expire la clé de hachage
"Redis est un magasin de structure de données open source et en mémoire qui est utilisé comme une base de données distribuée en mémoire de valeurs clés. En raison de sa nature, Redis est un stockage de données haute performance, adapté à l'implémentation dans différentes situations, par exemple, cache, courtier de messages, etc.

Dans ce guide, nous allons explorer comment expirer les clés dans Redis. Comme le titre l'indique, nous nous concentrerons sur l'expiration des clés de hachage, mais le concept général s'applique également aux autres clés."

Conditions préalables

Pour effectuer les étapes démontrées dans ce guide, vous aurez besoin des composants suivants prêts à l'emploi:

  • Un système Linux correctement configuré. En savoir plus sur l'installation d'Ubuntu.
  • Redis Server installé et configuré. En savoir plus sur l'installation de Redis sur Ubuntu.

Redis Keys

Les clés redis sont persistantes par défaut, ce qui signifie que toute entrée restera intacte à moins que la suppression manuelle. Bien que cette configuration soit bonne en général, il y a des situations où vous pouvez vouloir que les clés expirent après un certain temps. En d'autres termes, vous voudriez volatil clés.

Maintenant, Redis prend en charge plusieurs types de clés, catégorisés par le type de données. Voici quelques-uns des types de données les plus courants que vous rencontrerez:

  • Cordes
  • Listes
  • Sets
  • Hachage

Consultez la documentation officielle Redis sur les types de données pour plus d'informations approfondies. Aux fins de ce guide, nous nous concentrerons sur les clés de hachage.

Clés de hachage

Dans Redis, les hachages sont des cartes entre les champs (chaîne) et les valeurs (chaîne). En raison de cette structure, c'est le type de données parfait pour représenter des objets. Expliquons avec un exemple. Jetez un œil à la structure suivante:

  • user_database
  • David: Password_1
  • Alex: Password_2
  • Mason: Password_3

Ici, nous pouvons considérer user_database comme une clé de hachage. À l'intérieur de ce hachage, nous avons plusieurs paires de valeurs de champ, représentant le nom d'utilisateur et le mot de passe. Implémentons-le dans Redis:

$ Hmset user_database user_1 "david" pass_1 "mot de passe_1"
$ Hmset user_database user_2 "Alex" pass_2 "mot de passe_2"
$ Hmset user_database user_3 "Mason" pass_3 "mot de passe_3"

Comme démontré, Redis utilise la commande hmset pour enregistrer les clés de hachage. Pour récupérer les données stockées dans la clé, nous devons utiliser la commande HGET:

$ Hget user_database user_1
$ Hget user_database pass_3

Pour obtenir les informations de tous les champs à la fois, utilisez plutôt la commande HGGETALL:

$ Hgetall user_database

Dans Redis, une clé de hachage peut avoir jusqu'à 2 ^ 32 - 1 (plus de 4 milliards) paires de valeurs de champ. La plupart du temps, les hachages sont utilisés pour représenter les objets. Cependant, en raison de sa nature, les hachages peuvent être utiles dans de nombreuses situations.

Redis Key Expire

Tous les objets redis ont un temps d'expiration. Par défaut, la valeur est définie sur. Cependant, en modifiant cette valeur, nous pouvons définir des clés Redis qui expireront automatiquement après une durée fixe. Une fois le temps d'expiration passé, la clé est supprimée de la base de données.

Bien qu'il s'agisse d'une explication généralisée, le mécanisme réel de l'expiration clé est quelque peu compliqué. Consultez la documentation officielle Redis pour une explication approfondie du mécanisme d'expiration clé.

Pour définir un temps d'expiration, nous utiliserons la commande Expire. L'exemple suivant démontre son utilisation:

$ Set Bonjour "The Quick Brown Fox"
$ Expire bonjour 999

Ici, la clé Hello expirera en 999 secondes. Pour vérifier l'heure restante pour une clé pour expirer, utilisez la commande TTL:

$ Ttl bonjour

La sortie renvoie le temps restant avant l'expiration de la clé. Cependant, en cas d'erreur, TTL peut renvoyer différentes valeurs:

  • -2 Si la clé n'existe pas.
  • -1 Si la clé n'a pas d'expiration associée.

Clé de hachage expiré

Maintenant que nous comprenons les clés de hachage et le fonctionnement de l'expiration clé, il est temps de les mettre en action.

Poursuivant à partir de l'exemple de clé de hachage, mettons un temps d'expiration à user_database:

$ Expire user_database 999

Pour vérifier cette action, vérifiez la valeur TTL de user_database:

$ Ttl user_database

Expirer les options

La commande Expire est livrée avec des options supplémentaires qui implémentent certaines conditions supplémentaires lors de la définition du temps d'expiration. Ce sont les suivants:

  • NX: Le temps d'expiration est défini uniquement si la clé n'a pas d'expiration.
  • Xx: le temps d'expiration est défini uniquement si la clé a une expiration existante.
  • GT: Le nouveau temps d'expiration est défini si la nouvelle expiration est supérieure à celle actuelle.
  • LT: Le nouveau temps d'expiration est défini si la nouvelle expiration est inférieure à celle actuelle.

Lors de la mise en œuvre des options, la commande ressemblerait à ceci:

$ Expire

Poursuivant à partir de l'exemple précédent, mettons à jour le temps d'expiration de user_database:

$ Expire user_database 9999 gt

Vérifiez si le temps d'expiration a été mis à jour:

$ Ttl user_database

Dernières pensées

Dans ce guide, nous avons exploré l'expiration d'une clé de hachage dans Redis. Redis est livré avec une commande dédiée expire pour définir un temps d'expiration pour les clés. Nous avons démontré comment utiliser cette commande pour expirer une clé de démonstration. Nous avons également exploré diverses options que les prises en charge de la commande Expire.

Intéressé à en savoir plus sur Redis? La sous-catégorie Redis est pleine de guides approfondis. En savoir plus sur les commandes Redis communes, la commande bitcoute, le pipeline, etc.

Happy Computing!