Redis - Transações

As transações do Redis permitem a execução de um grupo de comandos em uma única etapa. A seguir estão as duas propriedades de transações.

  • Todos os comandos em uma transação são executados sequencialmente como uma única operação isolada. Não é possível que uma solicitação emitida por outro cliente seja atendida no meio da execução de uma transação do Redis.

  • A transação do Redis também é atômica. Atômico significa que todos os comandos ou nenhum foi processado.

Amostra

A transação do Redis é iniciada por comando MULTI e então você precisa passar uma lista de comandos que devem ser executados na transação, após a qual toda a transação é executada por EXEC comando.

redis 127.0.0.1:6379> MULTI 
OK 
List of commands here 
redis 127.0.0.1:6379> EXEC

Exemplo

O exemplo a seguir explica como a transação do Redis pode ser iniciada e executada.

redis 127.0.0.1:6379> MULTI 
OK 
redis 127.0.0.1:6379> SET tutorial redis 
QUEUED 
redis 127.0.0.1:6379> GET tutorial 
QUEUED 
redis 127.0.0.1:6379> INCR visitors 
QUEUED 
redis 127.0.0.1:6379> EXEC  
1) OK 
2) "redis" 
3) (integer) 1

Comandos de transação Redis

A tabela a seguir mostra alguns comandos básicos relacionados às transações do Redis.

Sr. Não Comando e Descrição
1 DESCARTAR

Descarta todos os comandos emitidos após MULTI

2 EXEC

Executa todos os comandos emitidos após MULTI

3 MULTI

Marca o início de um bloco de transação

4 DESVIAR

Esquece todas as chaves vigiadas

5 WATCH key [key ...]

Observa as chaves fornecidas para determinar a execução do bloco MULTI / EXEC