Creación de transacciones en Redis

Creación de transacciones en Redis
Si se toma en serio Redis, querrá utilizar transacciones para administrar sus datos. Las transacciones redis no son muy diferentes de las transacciones en una base de datos relacional.

Una transacción de la base de datos se refiere a una sola unidad de trabajo compuesta por consultas individuales a múltiples. En los casos, una operación solo se puede clasificar como una transacción si hay algún cambio en la base de datos.

No nos preocuparemos por eso, pero aprenderemos cómo usar el comando de reloj junto con las transacciones de Redis para esta.

¿Qué son las transacciones??

En Redis, las transacciones comprenden cuatro comandos principales: Watch, Exec, Descarte y Multi.

Usando los comandos anteriores, puede abrir un bloque y agregar múltiples comandos a la vez. Una vez completado, ejecuta los comandos como una sola unidad.

Para que una transacción sea exitosa, Redis asegura que:

  1. Todos los comandos especificados en una unidad de transacción se ejecutan consecutivamente. De ahí el primer recurso, la primera carrera.
  2. Todos los comandos en una unidad de transacción deben ejecutarse correctamente. Si uno de los comandos en la unidad falla, todo el bloque de transacciones también falla. Esta característica se conoce como ejecución de comandos atómicos
  3. Tercero, los comandos en una transacción se serializan. Por lo tanto, un cliente no puede ser un servidor mientras se ejecuta una unidad de transacción.

Redis crea transacción

Crea una unidad de transacción usando el comando múltiple. El comando múltiple volverá bien. Puede seguir adelante y agregar todos los comandos de transacción uno tras otro.

En lugar de ejecutar los comandos, Redis los pondrá en cola en inserción hasta que los llame.

Un ejemplo es como se muestra a continuación:

127.0.0.1: 6379> multi
De acuerdo

Redis ejecutar la unidad de transacción

Redis cola los comandos en una unidad de transacción hasta que los ejecute manualmente los ejecute.

Podemos hacer esto usando el comando exec. Esto le dice a Redis que ejecute todos los comandos en cola en el orden de inserción.

Un uso de ejemplo es como se muestra a continuación:

127.0.0.1: 6379> Establecer Newkey "100"
PUESTO EN COLA
127.0.0.1: 6379> increment
PUESTO EN COLA
127.0.0.1: 6379> Obtén NewKey
PUESTO EN COLA
127.0.0.1: 6379>

Notará que cada comando ejecutado está en cola. Un comando en cola es un comando que está programado para ejecutarse después de que se llame a Exec.

Para ejecutarlo, llame a ejecutivo como:

127.0.0.1: 6379> exec
1) OK
2) (entero) 101
3) "101"

Esto debería ejecutar todos los comandos y devolver los valores resultantes.

Redis eliminar la cola de comando

Supongamos que desea limpiar su cola de comandos y descargar todos los comandos programados? Para eso, puede usar el comando de descarte como se muestra:

127.0.0.1: 6379> multi
De acuerdo
127.0.0.1: 6379> Establecer Newkey "100"
PUESTO EN COLA
127.0.0.1: 6379> increment
PUESTO EN COLA
127.0.0.1: 6379> Obtén NewKey
PUESTO EN COLA
127.0.0.1: 6379> Descartar
De acuerdo

Después de ejecutar el comando de descarte, Redis devolverá bien y cerrará la unidad de transacción.

Conclusión

Este breve artículo describe cómo trabajar y usar las transacciones Redis en su base de datos. Consulte el recurso a continuación para obtener más información.

https: // redis.IO/Temas/Transacciones