Saltar al contenido

Como punto de expirar Llaves en Redis

marzo 4, 2020

 

Introducción

Redis es un código abierto, almacén de datos clave-valor en memoria. Redis teclas son persistente por defecto, lo que significa que el servidor Redis continuará almacenarlos menos que se eliminen manualmente. Puede haber, sin embargo, haber casos en los que ha establecido una clave, pero usted sabe que tendrá que eliminarlo después de una cierta cantidad de tiempo ha pasado; en otras palabras, desea que la clave para ser volátil . En este tutorial se explica cómo claves a punto de expirar, comprobar el tiempo restante hasta el vencimiento de una clave, y cancelar el ajuste caducidad de una clave.

Cómo utilizar esta guía

Esta guía está escrita como una hoja de trucos con ejemplos autónomos. Le animamos a saltar a cualquier sección que es relevante para la tarea que está tratando de completar.

Los comandos mostrados en esta guía fueron probados en un 18,04 servidor Ubuntu corriendo Redis versión 4.0.9. Para configurar un entorno similar, puede seguir Paso 1 de nuestra guía sobre cómo instalar y Secure Redis en Ubuntu 18.04. Vamos a demostrar cómo se comportan estos comandos ejecutando con Redis-cli, la interfaz de línea de comandos Redis. Tenga en cuenta que si usted está utilizando una interfaz diferente Redis – Redli, por ejemplo – la salida exacta de ciertos comandos pueden ser diferentes.

Como alternativa, puede aprovisionar una base de datos gestionada ejemplo Redis para probar estos comandos, pero tenga en cuenta que, dependiendo del nivel de control que le indique su proveedor de base de datos, algunos comandos de esta guía puede no w o k como se describe. Para aprovisionar una base de datos digitalocean administrados, siga nuestra documentación del producto Gestionados bases de datos. Entonces, se debe ya sea instalar Redli o establecieron un túnel TLS en o der para conectarse a la base de datos gestionada a través de TLS.

ajuste de las teclas a Expirar

Puede establecer una fecha de caducidad para una llave existente con el comando expire, que toma el nombre de la clave y el número de segundos hasta el vencimiento como argumentos. Para demostrar esto, ejecute los dos comandos siguientes. La primera crea una clave de cadena denominada key_melon con un valor de “melón”, y el segundo establece que expire después de 450 segundos:

set key_melon "cantaloupe"
expire key_melon 450

  • conjunto key_melon “melón”
  • expire key_melon 450

Si el tiempo de espera se estableció correctamente , el comando devolverá expiran (entero) 1. Si no puede configurar el tiempo de espera falló, en su lugar devolverá (entero) 0.

Como alternativa, se puede establecer la clave de caducar en un punto específico en el tiempo con el comando expireat. En lugar del número de segundos antes de la expiración, se necesita una marca de tiempo Unix como argumento. Una marca de tiempo Unix es el número de segundos desde la época Unix , o 00:00:00 UTC del 1 de enero de 1970. Hay una serie de herramientas en línea que puede utilizar para encontrar la marca de tiempo Unix de un determinado fecha y hora, como EpochConverter o UnixTimestamp.com.

Por ejemplo, para establecer key_melon caduque a las 8:30 pm GMT el 1 de mayo, el año 2025 (representada por la marca de tiempo Unix 1746131400), se puede usar el siguiente comando:

expireat key_melon 1746131400

  • expireat key_melon 1746131400

Tenga en cuenta que si el marca de tiempo que se pasa a expireat ya se ha producido, se eliminará la clave inmediatamente.

probar el tiempo Hasta que una clave expira

Cualquier t rong> t t rong> ime que se t rong> t t rong > una tecla t rong> t t rong> o expirar, se puede comprobar t rong> t t rong> que t rong> t t rong> ime ONU restante t rong> t t rong> i l de caducidad (en segundos) wi t rong> t t rong> h t rong> t t rong> t rong> t t rong> l , que s t rong> t t rong> ands para “ t rong> t t rong> ime t rong> t t rong> o l ive ”:

ttl key_melon

  • TTL key_melon TG_02 0

Output(integer) 433

Para obtener información más granular, puede ejecutar PTTL que en lugar devolver la cantidad de tiempo hasta que una clave expira en milisegundos:

pttl key_melon

  • PTTL key_melon

Output(integer) 431506

Tanto ttl y PTTL volverá (integer) -1 si la clave no ha sido ajustada a punto de expirar y (entero) -2 si no existe la clave. La persistencia

Claves

Si una clave ha sido ajustada a punto de expirar, cualquier comando que sobrescribe el contenido de una clave – como conjunto o GetSet – despejará el valor de tiempo de espera de una clave. Para borrar manualmente el tiempo de espera de una clave, utilice el comando persisten:

persist key_melon

  • persisten key_melon

El persisten comando devolverá (entero) 1 si se ha completado con éxito, lo que indica que la clave ya no expirará.

Conclusión

Esta guía detalla una serie de comandos que se utilizan para manipular y comprobar la persistencia clave en Redis. Si hay otros comandos relacionados, argumentos o procedimientos que le gustaría ver descrita en esta guía, por favor pregunte o hacer sugerencias en los comentarios a continuación.

Para obtener más información sobre los comandos Redis, ver nuestra serie de tutoriales sobre cómo gestionar una base de datos Redis.

SEO y Programación.