Operaciones básicas de clave-valor en Redis

RedisBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás las operaciones fundamentales de clave-valor en Redis. Utilizaremos la interfaz de línea de comandos redis-cli para interactuar con el servidor Redis y realizar operaciones básicas como establecer, obtener, verificar la existencia, eliminar y configurar tiempos de expiración para las claves. Al finalizar este laboratorio, tendrás una comprensión sólida de cómo utilizar Redis como un almacén de datos sencillo.

Establecer y recuperar pares clave-valor

En este paso, nos centraremos en las operaciones principales de establecer y recuperar pares clave-valor en Redis. Esta es la base para utilizar Redis como almacén de datos.

Redis almacena los datos como pares clave-valor, de forma similar a un diccionario. La clave es un identificador único y el valor es el dato asociado a dicha clave.

  1. Conectarse a Redis:

    Abre una terminal en la máquina virtual de LabEx. Deberías estar ya en el directorio ~/project. Conéctate al servidor Redis usando el comando redis-cli:

    redis-cli
    

    Deberías ver el prompt de Redis: 127.0.0.1:6379>. Esto indica una conexión exitosa al servidor Redis.

  2. Establecer un par clave-valor:

    Vamos a establecer un par clave-valor usando el comando SET. Asignaremos a la clave mykey el valor myvalue.

    SET mykey myvalue
    

    Redis responderá con:

    OK
    

    Esto confirma que el par clave-valor se ha almacenado correctamente.

  3. Obtener el valor de una clave:

    Para recuperar el valor asociado a una clave, utiliza el comando GET. Recuperemos el valor de mykey:

    GET mykey
    

    Redis responderá con:

    "myvalue"
    

    Esto demuestra que hemos recuperado con éxito el valor asociado a la clave mykey.

  4. Establecer otro par clave-valor:

    Vamos a establecer otro par clave-valor con una clave y un valor diferentes. En esta ocasión, usaremos user:1001 como clave y John como valor.

    SET user:1001 John
    

    Redis responderá con:

    OK
    
  5. Obtener el valor de la nueva clave:

    Ahora, recuperemos el valor de la clave user:1001:

    GET user:1001
    

    Redis responderá con:

    "John"
    

    Ya has establecido y recuperado pares clave-valor en Redis con éxito.

  6. Salir de la CLI de Redis:

    Es importante salir de la CLI de Redis después de cada paso para que los comandos se registren correctamente. Escribe:

    exit
    

    Captura de pantalla de la sesión de Redis CLI

Verificar la existencia de claves

En este paso, aprenderemos a comprobar si una clave existe en Redis utilizando el comando EXISTS. Esto es útil para determinar si una clave ha sido establecida antes de intentar recuperar su valor o realizar otras operaciones.

  1. Conectarse a Redis:

    Conéctate al servidor Redis usando el comando redis-cli:

    redis-cli
    

    Deberías ver el prompt de Redis: 127.0.0.1:6379>.

  2. Verificar la existencia de una clave existente:

    En el paso anterior, establecimos la clave mykey. Comprobemos si existe usando el comando EXISTS:

    EXISTS mykey
    

    Redis responderá con:

    (integer) 1
    

    Una respuesta de 1 indica que la clave mykey existe en Redis.

  3. Verificar la existencia de una clave inexistente:

    Ahora, comprobemos si existe una clave que no hemos definido. Por ejemplo, busquemos una clave llamada nonexistentkey:

    EXISTS nonexistentkey
    

    Redis responderá con:

    (integer) 0
    

    Una respuesta de 0 indica que la clave nonexistentkey no existe en Redis.

  4. Salir de la CLI de Redis:

    Sal de la CLI de Redis para asegurar que los comandos se registren:

    exit
    

Eliminar claves

En este paso, aprenderemos a eliminar claves de Redis utilizando el comando DEL. Esto es esencial para gestionar los datos y eliminar entradas obsoletas o no deseadas.

  1. Conectarse a Redis:

    Conéctate al servidor Redis usando el comando redis-cli:

    redis-cli
    

    Deberías ver el prompt de Redis: 127.0.0.1:6379>.

  2. Eliminar una clave existente:

    En los pasos anteriores, establecimos la clave mykey. Vamos a eliminarla usando el comando DEL:

    DEL mykey
    

    Redis responderá con:

    (integer) 1
    

    Una respuesta de (integer) 1 indica que una clave fue eliminada correctamente.

  3. Eliminar una clave inexistente:

    Intentemos eliminar una clave que no existe, como nonexistentkey:

    DEL nonexistentkey
    

    Redis responderá con:

    (integer) 0
    

    Una respuesta de (integer) 0 indica que no se eliminó ninguna clave (porque la clave no existía).

  4. Eliminar múltiples claves:

    El comando DEL también se puede utilizar para eliminar varias claves a la vez. Vamos a eliminar la clave user:1001 que creamos anteriormente, e intentaremos eliminar nonexistentkey de nuevo en el mismo comando:

    DEL user:1001 nonexistentkey
    

    Redis responderá con:

    (integer) 1
    

    Una respuesta de (integer) 1 indica que una clave fue eliminada correctamente (user:1001), y el intento de eliminar nonexistentkey fue ignorado ya que no existía.

  5. Salir de la CLI de Redis:

    Sal de la CLI de Redis:

    exit
    

Establecer la expiración de claves

En este paso, aprenderemos a establecer un tiempo de expiración para una clave en Redis utilizando tanto el comando EXPIRE como el comando SET con el parámetro EX. Esto es útil para eliminar datos automáticamente después de un cierto período, como datos de sesión o cachés temporales.

  1. Conectarse a Redis:

    Conéctate al servidor Redis usando el comando redis-cli:

    redis-cli
    

    Deberías ver el prompt de Redis: 127.0.0.1:6379>.

  2. Establecer un par clave-valor con expiración (Método 1: SET con parámetro EX):

    Redis permite establecer un par clave-valor con un tiempo de expiración en un solo comando usando el parámetro EX. Vamos a establecer la clave sessionkey con el valor sessionvalue y un tiempo de expiración de 15 segundos:

    SET sessionkey sessionvalue EX 15
    

    Redis responderá con:

    OK
    

    Este comando establece el par clave-valor y el tiempo de expiración en una sola operación, lo cual es más eficiente que usar comandos separados.

  3. Verificar el TTL de la clave establecida con EX:

    Comprobemos el tiempo de vida restante (TTL, por sus siglas en inglés) para sessionkey:

    TTL sessionkey
    

    Redis responderá con el número de segundos restantes hasta que la clave expire (por ejemplo, (integer) 14). El valor será ligeramente inferior a 15 debido al tiempo transcurrido desde que se estableció la clave.

  4. Establecer un par clave-valor (Método 2: Usando el comando EXPIRE por separado):

    Alternativamente, puedes establecer un par clave-valor primero y luego configurar su tiempo de expiración por separado. Vamos a establecer la clave tempkey con el valor tempvalue:

    SET tempkey tempvalue
    

    Redis responderá con:

    OK
    
  5. Establecer el tiempo de expiración usando el comando EXPIRE:

    Ahora, establezcamos un tiempo de expiración de 10 segundos para tempkey usando el comando EXPIRE:

    EXPIRE tempkey 10
    

    Redis responderá con:

    (integer) 1
    

    Una respuesta de (integer) 1 indica que el tiempo de expiración se estableció correctamente.

  6. Verificar el tiempo de vida restante (TTL):

    Para comprobar el tiempo de vida restante (TTL) de tempkey, utiliza el comando TTL:

    TTL tempkey
    

    Redis responderá con el número de segundos restantes hasta que la clave expire (por ejemplo, (integer) 9). El valor podría ser ligeramente inferior a 10 debido al tiempo transcurrido desde que se estableció la expiración. Si la clave no existe o no tiene expiración, TTL devuelve -2 o -1 respectivamente.

  7. Salir de la CLI de Redis:

    Sal de la CLI de Redis:

    exit
    

Resumen

En este laboratorio, has aprendido las operaciones fundamentales de clave-valor en Redis utilizando la interfaz de línea de comandos redis-cli. Aprendiste a conectarte al servidor Redis y a utilizar el comando SET para almacenar datos como pares clave-valor. También practicaste la recuperación de valores mediante el comando GET. Además, aprendiste a verificar la existencia de claves usando el comando EXISTS, a eliminar claves usando el comando DEL y a establecer tiempos de expiración para las claves utilizando tanto el comando SET con el parámetro EX como el comando EXPIRE. El comando SET con el parámetro EX es particularmente útil, ya que permite establecer un par clave-valor con tiempo de expiración en una operación única y eficiente. Estos son los pilares para utilizar Redis como un almacén de datos sencillo y eficiente.