Transacciones de Redis

RedisBeginner
Practicar Ahora

Introducción

En este laboratorio, explorará las transacciones de Redis. Las transacciones de Redis le permiten ejecutar un grupo de comandos como una operación única y atómica, garantizando la consistencia de los datos. Aprenderá a iniciar una transacción con el comando MULTI, a poner comandos en cola y luego a ejecutar o descartar la transacción. Practicará el establecimiento de claves, la obtención de valores y el incremento de contadores dentro de las transacciones.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de reseñas positivas del 89% por parte de los estudiantes.

Inicio de una Transacción de Redis

En este paso, aprenderá cómo iniciar una transacción en Redis utilizando el comando MULTI. Las transacciones de Redis aseguran que una serie de comandos se ejecuten como una unidad única y atómica. Esto significa que todos los comandos tienen éxito o ninguno lo hace, garantizando la integridad de los datos.

Primero, conéctese al servidor Redis usando el comando redis-cli en su terminal:

redis-cli

Ahora que está en el entorno redis-cli, puede comenzar una transacción. Escriba el siguiente comando y presione Enter:

MULTI

Debería ver la siguiente salida:

OK

Esto confirma que Redis ha entrado en modo de transacción. Cualquier comando subsiguiente que ingrese se pondrá en cola y se ejecutará junto cuando use el comando EXEC.

Pongamos en cola nuestro primer comando. Estableceremos una clave llamada mykey con el valor myvalue. Escriba el siguiente comando y presione Enter:

SET mykey "myvalue"

La salida debería ser:

QUEUED

Esto indica que el comando SET se ha agregado exitosamente a la cola de la transacción. No se ejecutará hasta que le digamos explícitamente a Redis que lo haga.

Mantenga abierto el entorno redis-cli para el siguiente paso.

Poner en Cola Más Comandos y Ejecutar la Transacción

En este paso, agregará más comandos a la cola de la transacción y luego ejecutará la transacción completa usando el comando EXEC.

Ahora, pongamos en cola un comando para recuperar el valor de mykey:

GET mykey

Debería ver:

QUEUED

A continuación, agreguemos otro comando para establecer una clave diferente, anotherkey, con el valor anothervalue:

SET anotherkey "anothervalue"

La salida debería ser:

QUEUED

Finalmente, pongamos en cola un comando INCR para incrementar un contador llamado mycounter. Si mycounter no existe, Redis lo creará y lo inicializará en 0 antes de incrementarlo:

INCR mycounter

Debería ver:

QUEUED

Ahora ha puesto en cola varios comandos dentro de la transacción. Para ejecutarlos todos a la vez, use el comando EXEC:

EXEC

La salida debería parecerse a esto:

1) OK
2) "myvalue"
3) OK
4) (integer) 1

Analicemos la salida:

  • 1) OK: Resultado del comando SET mykey "myvalue".
  • 2) "myvalue": Resultado del comando GET mykey.
  • 3) OK: Resultado del comando SET anotherkey "anothervalue".
  • 4) (integer) 1: Resultado del comando INCR mycounter.

Todos los comandos dentro de la transacción se ejecutaron atómicamente.

Mantenga abierto el entorno redis-cli para el siguiente paso.

Verificación de la Ejecución de la Transacción

En este paso, verificará que los comandos de la transacción anterior se ejecutaron correctamente recuperando los valores de las claves que estableció.

Para verificar los valores, use el comando GET para cada clave:

GET mykey
GET anotherkey
GET mycounter

Debería ver la siguiente salida:

"myvalue"
"anothervalue"
"1"

Esto confirma que la transacción se ejecutó correctamente y que los valores de las claves se actualizaron según lo esperado.

Mantenga abierto el entorno redis-cli para el siguiente paso.

Cancelar una Transacción con DISCARD

En este paso, aprenderá cómo cancelar una transacción de Redis usando el comando DISCARD. Esto es útil si decide que no desea ejecutar los comandos en cola.

Primero, conéctese al servidor Redis e inicie una nueva transacción:

MULTI

Ahora, pongamos en cola algunos comandos:

SET mykey "newvalue"
INCR mycounter

Debería ver la respuesta QUEUED para cada comando.

Ahora, en lugar de ejecutar la transacción, cancelémosla. Use el comando DISCARD:

DISCARD

Debería ver:

OK

Esto confirma que la transacción ha sido cancelada y que todos los comandos en cola han sido descartados. Para verificar, puede comprobar el valor de mykey y mycounter. No deberían haberse actualizado.

Recuerde salir del entorno redis-cli para asegurarse de que el comando se registra:

exit

Resumen

En este laboratorio, ha aprendido a utilizar transacciones de Redis para ejecutar múltiples comandos de forma atómica. Ha practicado el inicio de transacciones con MULTI, la puesta en cola de comandos, la ejecución de transacciones con EXEC y la cancelación de transacciones con DISCARD. Este conocimiento es crucial para mantener la consistencia de los datos en Redis al realizar operaciones complejas.