Expiración Redis de claves con tiempo limitado
Antes de continuar con estructuras de datos más complejas, debemos analizar otra característica que funciona independientemente del tipo de valor y es la expiración Redis.
Expiración Redis: ejemplo de código
Básicamente puede establecer un tiempo de espera para una clave, que es un tiempo limitado de vida. Cuando el tiempo de vida transcurre, la clave se destruye automáticamente, exactamente como si el usuario llamara al comando DEL con la tecla.
Una breve información sobre la expiración Redis:
Se pueden configurar tanto con precisión de segundos o milisegundos.
Sin embargo, la resolución de tiempo de expiración Redis es siempre de 1 milisegundo.
La información sobre expiración Redis se replica y persiste en el disco, el tiempo pasa virtualmente cuando su servidor Redis permanece detenido (esto significa que Redis guarda la fecha en la que caducará una clave).
Establecer un vencimiento es trivial:
> set key some-value
OK
> expire key 5
(integer) 1
> get key (immediately)
"some-value"
> get key (after some time)
(nil)
La clave desapareció entre las dos llamadas GET, ya que la segunda llamada se retrasó más de 5 segundos.
En el ejemplo anterior, utilizamos EXPIRE para configurar el vencimiento (también se puede usar para establecer un vencimiento diferente a una clave que ya tiene uno, como PERSIST se puede usar para eliminar el vencimiento y hacer que la clave permanezca para siempre ).
Sin embargo, también podemos crear claves con vencimiento utilizando otros comandos de Redis.
Por ejemplo, usando las opciones de SET:
> set key 100 ex 10
OK
> ttl key
(integer) 9
El ejemplo anterior establece una clave con el valor de cadena 100, con un vencimiento de diez segundos. Más tarde se llama al comando TTL para verificar el tiempo restante de vida de la clave.
Para establecer y verificar la caducidad en milisegundos, compruebe los comandos PEXPIRE y PTTL, y la lista completa de SEToptions.
A continuación te acercamos un listado de diversos posts de Redis, para que puedas continuar leyendo sobre el tema:
- Redis Strings: Se presenta un breve pero claro ejemplo sobre cadenas: Redis Strings y ¿Qué significa que INCR es atómico?
- Alterar y consultar key space: Información complementaria al tema y algunos ejemplos: Alterar y consultar key space
- Redis expiración: Claves con tiempo limitado
:Presentamos una breve información sobre la expiración y ejemplos: Expiración de claves con tiempo limitado - Listas: Para conocer los primeros pasos en Listas y casos de uso comunes te recomendamos leer: Listas y casos de uso comunes
- Creación automática y eliminación de keys: Para conocer mas sobre las claves y ver algunos ejemplos: Creación automática y eliminación de keys
- Redis Hashes: Para reconocer los principales comandos puedes leer el post: Introducción a Hashes
- Redis Sets: En el post que dejo a continuación se presenta un ejemplo claro y conciso en: Redis Sets y algunos ejemplos
- Conjuntos ordenados de Redis: Para saber mas sobre conjunto sordenados leer: Conjuntos ordenados de Redis
- Puntajes lexicográficos: Con las versiones recientes de Redis 2.8, se introdujo una nueva característica que permite obtener rangos lexicográficamente, para saber mas lea el siguiente post: Puntajes lexicográficos
- Bitmaps: Para conocer los principales comandos y casos de uso comunes los invitamos a leer: Bitmaps
- HyperLogLogs: Es una estructura de datos probabilísticos utilizada para contar cosas únicas, si deseas conocer mas puede leer: HyperLogLogs
