Redis сделка
REDIS транзакции выполнить несколько команд одновременно, и с двумя важными гарантиями:
- Сделка представляет собой отдельный карантин действия: Все команды упорядочиваются транзакции выполняются последовательно. Во время исполнения сделки не будет отправлен клиенту запросить команду прервана.
- Сделка является атомарной операцией: команды в транзакции либо все выполнены или все не выполняются.
Сделка, от начала до исполнения через следующие три этапа:
- Начните транзакцию.
- Команда в команде.
- Подразделение по обеспечению соблюдения.
примеров
Ниже приведен пример сделки, он впервые начал бизнес сMULTI, затем несколько команд в команды по сделке, запускаемый командой последней транзакции EXEC,вместе со всеми командами в сделке:
redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days" QUEUED redis 127.0.0.1:6379> GET book-name QUEUED redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series" QUEUED redis 127.0.0.1:6379> SMEMBERS tag QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) "Mastering C++ in 21 days" 3) (integer) 3 4) 1) "Mastering Series" 2) "C++" 3) "Programming"
Команда Redis транзакции
В следующей таблице перечислены команды для вопросов Redis:
Нет. | Команда и описание |
---|---|
1 | DISCARD Отменить сделку, отказаться от всех команд в пределах блока транзакции. |
2 | EXEC Выполнить все операции внутри блока. |
3 | MULTI Он знаменует собой начало блока транзакции. |
4 | UNWATCH Отмена команды WATCH, чтобы контролировать все клавиши. |
5 | СМОТРИТЕ ключ [ключ ...] Монитор ключ один (или больше), если этот ключ (или они) были изменены другие команды до того, как транзакция выполняется, то транзакция будет прервана. |