Gestion de l'Expiration des Clés
TTL indique la durée pendant laquelle une clé reste disponible dans la base de données. Une fois ce délai écoulé, la clé est automatiquement supprimée.
Comme illustré dans l’exemple, les clés dont le TTL a expiré sont supprimées, tandis que les autres clés continuent d’exister dans la base de données avec leur durée de vie mise à jour. Cela permet d’optimiser l’utilisation de la mémoire et d’automatiser la suppression des données obsolètes.
Définition de l’expiration d’une clé
Il est possible de définir le temps d’expiration d’une clé de plusieurs manières. Par exemple, il est possible de créer une clé et de spécifier qu’elle existera pendant une heure :
SET my_key "session:31003"
EXPIRE my_key 3600
Ici, la clé my_key sera automatiquement supprimée après 3600 secondes (1 heure).
Il est également possible de combiner la définition d'une valeur et d'un TTL en une seule commande. Par exemple, pour définir le TTL en secondes ou en millisecondes :
SET my_key "value" EX 3600
SET my_key "value" PX 60000
Dans le premier cas, la clé expirera dans 3600 secondes, et dans le second cas, elle expirera dans 60000 millisecondes (1 minute).
Vérification du TTL restant
Pour vérifier combien de temps il reste avant qu'une clé n'expire, il est possible d'utiliser la commande TTL :
TTL my_key
Si la clé existe et possède 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, il est possible d’utiliser les millisecondes :
PTTL my_key
Par exemple, si le résultat est 45000, cela signifie que la clé expirera dans 45 secondes.
Suppression de l'expiration d'une clé
Si une clé ne doit plus expirer automatiquement, il est possible de supprimer son TTL :
PERSIST my_key
Après cette commande, la clé my_key deviendra permanente et ne sera plus supprimée automatiquement.
Applications pratiques
La gestion de l'expiration des clés présente 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 l'objectif de la gestion du 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 !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain how to set a TTL for multiple keys at once?
What happens if I reset the TTL of a key before it expires?
Are there any best practices for managing TTLs in Redis?
Awesome!
Completion rate improved to 3.33
Gestion de l'Expiration des Clés
Glissez pour afficher le menu
TTL indique la durée pendant laquelle une clé reste disponible dans la base de données. Une fois ce délai écoulé, la clé est automatiquement supprimée.
Comme illustré dans l’exemple, les clés dont le TTL a expiré sont supprimées, tandis que les autres clés continuent d’exister dans la base de données avec leur durée de vie mise à jour. Cela permet d’optimiser l’utilisation de la mémoire et d’automatiser la suppression des données obsolètes.
Définition de l’expiration d’une clé
Il est possible de définir le temps d’expiration d’une clé de plusieurs manières. Par exemple, il est possible de créer une clé et de spécifier qu’elle existera pendant une heure :
SET my_key "session:31003"
EXPIRE my_key 3600
Ici, la clé my_key sera automatiquement supprimée après 3600 secondes (1 heure).
Il est également possible de combiner la définition d'une valeur et d'un TTL en une seule commande. Par exemple, pour définir le TTL en secondes ou en millisecondes :
SET my_key "value" EX 3600
SET my_key "value" PX 60000
Dans le premier cas, la clé expirera dans 3600 secondes, et dans le second cas, elle expirera dans 60000 millisecondes (1 minute).
Vérification du TTL restant
Pour vérifier combien de temps il reste avant qu'une clé n'expire, il est possible d'utiliser la commande TTL :
TTL my_key
Si la clé existe et possède 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, il est possible d’utiliser les millisecondes :
PTTL my_key
Par exemple, si le résultat est 45000, cela signifie que la clé expirera dans 45 secondes.
Suppression de l'expiration d'une clé
Si une clé ne doit plus expirer automatiquement, il est possible de supprimer son TTL :
PERSIST my_key
Après cette commande, la clé my_key deviendra permanente et ne sera plus supprimée automatiquement.
Applications pratiques
La gestion de l'expiration des clés présente 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 l'objectif de la gestion du 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 !