Gestión de la Expiración de Claves
TTL especifica la duración durante la cual una clave permanece disponible en la base de datos. Una vez que este tiempo expira, la clave se elimina automáticamente.
Como se muestra en el ejemplo, las claves con TTL expirado son eliminadas, mientras que las claves restantes continúan existiendo en la base de datos con sus tiempos de vida actualizados. Esto ayuda a optimizar el uso de memoria y automatizar la eliminación de datos obsoletos.
Configuración de la expiración de claves
Es posible establecer el tiempo de expiración para una clave de varias maneras. Por ejemplo, se puede definir una clave y especificar que existirá durante una hora:
SET my_key "session:31003"
EXPIRE my_key 3600
Aquí, la clave my_key será eliminada automáticamente después de 3600 segundos (1 hora).
De manera alternativa, es posible combinar la asignación de un valor y la definición del TTL en un solo comando. Por ejemplo, para establecer el TTL en segundos o milisegundos:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
En el primer caso, la clave expirará en 3600 segundos, y en el segundo caso, expirará en 60000 milisegundos (1 minuto).
Comprobación del TTL restante
Para verificar cuánto tiempo queda antes de que una clave expire, se puede utilizar el comando TTL:
TTL my_key
Si la clave existe y tiene un TTL, el comando devolverá el tiempo restante en segundos. Por ejemplo, si el resultado es 120, la clave expirará en 2 minutos. Si la clave no tiene expiración, el resultado será -1, y si la clave no existe, el resultado será -2.
Para un control más preciso, se pueden usar milisegundos:
PTTL my_key
Por ejemplo, si el resultado es 45000, significa que la clave expirará en 45 segundos.
Eliminación de la expiración de claves
Si una clave ya no debe expirar automáticamente, se puede eliminar su TTL:
PERSIST my_key
Después de este comando, la clave my_key será permanente y no se eliminará automáticamente.
Aplicaciones Prácticas
La gestión de la expiración de claves tiene una amplia variedad de casos de uso. Por ejemplo, en el caché, los registros expirados se eliminan automáticamente, liberando memoria. Para la gestión de sesiones, garantiza que las sesiones inactivas sean terminadas, mejorando tanto la seguridad del sistema como el rendimiento.
1. ¿Cuál es el propósito de gestionar el TTL de las claves en Redis?
2. ¿Qué sucede cuando se ejecuta el comando PERSIST en una clave?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
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
Gestión de la Expiración de Claves
Desliza para mostrar el menú
TTL especifica la duración durante la cual una clave permanece disponible en la base de datos. Una vez que este tiempo expira, la clave se elimina automáticamente.
Como se muestra en el ejemplo, las claves con TTL expirado son eliminadas, mientras que las claves restantes continúan existiendo en la base de datos con sus tiempos de vida actualizados. Esto ayuda a optimizar el uso de memoria y automatizar la eliminación de datos obsoletos.
Configuración de la expiración de claves
Es posible establecer el tiempo de expiración para una clave de varias maneras. Por ejemplo, se puede definir una clave y especificar que existirá durante una hora:
SET my_key "session:31003"
EXPIRE my_key 3600
Aquí, la clave my_key será eliminada automáticamente después de 3600 segundos (1 hora).
De manera alternativa, es posible combinar la asignación de un valor y la definición del TTL en un solo comando. Por ejemplo, para establecer el TTL en segundos o milisegundos:
SET my_key "value" EX 3600
SET my_key "value" PX 60000
En el primer caso, la clave expirará en 3600 segundos, y en el segundo caso, expirará en 60000 milisegundos (1 minuto).
Comprobación del TTL restante
Para verificar cuánto tiempo queda antes de que una clave expire, se puede utilizar el comando TTL:
TTL my_key
Si la clave existe y tiene un TTL, el comando devolverá el tiempo restante en segundos. Por ejemplo, si el resultado es 120, la clave expirará en 2 minutos. Si la clave no tiene expiración, el resultado será -1, y si la clave no existe, el resultado será -2.
Para un control más preciso, se pueden usar milisegundos:
PTTL my_key
Por ejemplo, si el resultado es 45000, significa que la clave expirará en 45 segundos.
Eliminación de la expiración de claves
Si una clave ya no debe expirar automáticamente, se puede eliminar su TTL:
PERSIST my_key
Después de este comando, la clave my_key será permanente y no se eliminará automáticamente.
Aplicaciones Prácticas
La gestión de la expiración de claves tiene una amplia variedad de casos de uso. Por ejemplo, en el caché, los registros expirados se eliminan automáticamente, liberando memoria. Para la gestión de sesiones, garantiza que las sesiones inactivas sean terminadas, mejorando tanto la seguridad del sistema como el rendimiento.
1. ¿Cuál es el propósito de gestionar el TTL de las claves en Redis?
2. ¿Qué sucede cuando se ejecuta el comando PERSIST en una clave?
¡Gracias por tus comentarios!