Contenu du cours
Introduction à Redis
Introduction à Redis
Gestion de l'Expiration des Clés
TTL spécifie la durée pendant laquelle une clé reste disponible dans la base de données. Une fois ce temps écoulé, la clé est automatiquement supprimée.
Comme montré dans l'exemple, les clés avec des TTL expirés sont supprimées, tandis que les clés restantes continuent d'exister dans la base de données avec leurs durées de vie mises à jour. Cela aide à optimiser l'utilisation de la mémoire et à automatiser la suppression des données obsolètes.
Définir l'expiration des clés
Vous pouvez définir le temps d'expiration pour une clé de plusieurs manières. Par exemple, vous pouvez définir une clé et spécifier qu'elle existera pendant une heure :
Ici, la clé my_key
sera automatiquement supprimée après 3600 secondes (1 heure).
Alternativement, vous pouvez combiner la définition d'une valeur et la définition du TTL en une seule commande. Par exemple, pour définir le TTL en secondes ou millisecondes :
Dans le premier cas, la clé expirera en 3600 secondes, et dans le second cas, elle expirera en 60000 millisecondes (1 minute).
Vérification du TTL restant
Pour vérifier combien de temps il reste avant qu'une clé n'expire, vous pouvez utiliser la commande TTL :
Si la clé existe et a un TTL, la commande retournera le temps restant en secondes. Par exemple, si le résultat est 120
, la clé expirera dans 2
minutes. Si la clé n'a pas d'expiration, le résultat sera -1
, et si la clé n'existe pas, le résultat sera -2
.
Pour un contrôle plus précis, vous pouvez utiliser les millisecondes :
Par exemple, si le résultat est 45000, cela signifie que la clé expirera dans 45 secondes.
Suppression de l'expiration de la clé
Si une clé ne doit plus expirer automatiquement, vous pouvez supprimer son TTL :
Après cette commande, la clé my_key
deviendra permanente et ne sera pas supprimée automatiquement.
Applications Pratiques
La gestion de l'expiration des clés a un large éventail de cas d'utilisation. Par exemple, dans la mise en cache, les enregistrements expirés sont automatiquement supprimés, libérant ainsi de la mémoire. Pour la gestion des sessions, cela garantit que les sessions inactives sont terminées, améliorant à la fois la sécurité du système et les performances.
1. Quel est le but de gérer le TTL pour les clés dans Redis ?
2. Que se passe-t-il lorsque vous exécutez la commande PERSIST
sur une clé ?
Merci pour vos commentaires !