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 |