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 |