Criando transações em Redis

Criando transações em Redis
Se você é sério sobre Redis, você deve usar transações para gerenciar seus dados. As transações Redis não são muito diferentes das transações em um banco de dados relacional.

Uma transação de banco de dados refere -se a uma única unidade de trabalho composta de perguntas únicas para múltiplas. Nos casos, uma operação só pode ser classificada como uma transação se houver alguma alteração no banco de dados.

Não nos preocuparemos com isso, mas aprenderemos a usar o comando Watch ao lado de transações Redis para este.

O que são transações?

Em Redis, as transações compreendem quatro comandos principais: assista, executiva, descarte e multi.

Usando os comandos acima, você pode abrir um bloco e adicionar vários comandos de uma só vez. Depois de concluído, você executa os comandos como uma única unidade.

Para que uma transação seja bem -sucedida, Redis garante que:

  1. Todos os comandos especificados em uma unidade de transação são executados consecutivamente. Portanto, a primeira rodada, a primeira corrida.
  2. Todos os comandos em uma unidade de transação devem executar com sucesso. Se um dos comandos na unidade falhar, todo o bloco de transação também falhar. Este recurso é conhecido como execução do comando atômico
  3. Terceiro, os comandos em uma transação são serializados. Portanto, um cliente não pode ser um servidor enquanto uma unidade de transação é executada.

Redis Crie transação

Você cria uma unidade de transação usando o comando multi. O comando multi retornará ok. Você pode ir em frente e adicionar todos os comandos de transação um após o outro.

Em vez de executar os comandos, Redis os fará na inserção até que você os chame.

Um exemplo é como mostrado abaixo:

127.0.0.1: 6379> multi
OK

Redis Execute Transaction Unit

Redis vai fazer fila os comandos em uma unidade de transação até você executá -los manualmente.

Podemos fazer isso usando o comando EXEC. Isso diz a Redis para executar todos os comandos na fila na ordem de inserção.

Um exemplo de uso é como mostrado abaixo:

127.0.0.1: 6379> Set NewKey "100"
ENFILEIRADAS
127.0.0.1: 6379> incur Newkey
ENFILEIRADAS
127.0.0.1: 6379> Obtenha Newkey
ENFILEIRADAS
127.0.0.1: 6379>

Você notará que cada comando executado está na fila. Um comando na fila é um comando que está programado para ser executado depois que o executivo é chamado.

Para executá -lo, ligue para o Exec como:

127.0.0.1: 6379> Exec
1) OK
2) (número inteiro) 101
3) "101"

Isso deve executar todos os comandos e retornar os valores resultantes.

Redis Remova a fila de comando

Suponha que você queira limpar sua fila de comando e liberar todos os comandos agendados? Para isso, você pode usar o comando de descarte como mostrado:

127.0.0.1: 6379> multi
OK
127.0.0.1: 6379> Set NewKey "100"
ENFILEIRADAS
127.0.0.1: 6379> incur Newkey
ENFILEIRADAS
127.0.0.1: 6379> Obtenha Newkey
ENFILEIRADAS
127.0.0.1: 6379> descarte
OK

Depois de executar o comando Dispard, Redis retornará ok e fechará a unidade de transação.

Conclusão

Este pequeno artigo descreve como trabalhar e usar as transações Redis em seu banco de dados. Verifique o recurso abaixo para saber mais.

https: // redis.IO/Tópicos/Transações