Redis - Транзакции

Транзакции Redis позволяют выполнять группу команд за один шаг. Ниже приведены два свойства транзакций.

  • Все команды в транзакции последовательно выполняются как одна изолированная операция. Невозможно, чтобы запрос, выпущенный другим клиентом, был обслужен в середине выполнения транзакции Redis.

  • Транзакция Redis также является атомарной. Атомарный означает, что обрабатываются либо все команды, либо ни одна.

Образец

Транзакция Redis инициируется командой MULTI а затем вам нужно передать список команд, которые должны быть выполнены в транзакции, после чего вся транзакция выполняется EXEC команда.

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

пример

В следующем примере объясняется, как можно инициировать и выполнить транзакцию Redis.

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

Команды транзакции Redis

В следующей таблице показаны некоторые основные команды, связанные с транзакциями Redis.

Старший Нет Команда и описание
1 ОТКАЗАТЬ

Отменяет все команды, выданные после MULTI

2 EXEC

Выполняет все команды, выданные после MULTI

3 МУЛЬТИ

Отмечает начало блока транзакции

4 ПОСМОТРЕТЬ

Забывает обо всех наблюдаемых ключах

5 ЧАСЫ ключ [ключ ...]

Наблюдает за заданными ключами, чтобы определить выполнение блока MULTI / EXEC