English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Команда Redis Exec предназначена для выполнения всех команд в блоке операций.
Основная грамматика команды redis Exec выглядит следующим образом:
redis 127.0.0.1:6379> Exec
>= 1.2.0
Возвратные значения всех команд в блоке операций, расположенные в порядке выполнения команд. Когда операция прервана, возвращается пустое значение nil.
# The transaction is successfully executed redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> INCR user_id QUEUED redis 127.0.0.1:6379> INCR user_id QUEUED redis 127.0.0.1:6379> INCR user_id QUEUED redis 127.0.0.1:6379> PING QUEUED redis 127.0.0.1:6379> EXEC 1) (integer) 1 2) (integer) 2 3) (integer) 3 4) PONG # Watch key, and the transaction is successfully executed redis 127.0.0.1:6379> WATCH lock lock_times OK redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET lock "huangz" QUEUED redis 127.0.0.1:6379> INCR lock_times QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) (integer) 1 # Watch key, and the transaction is interrupted redis 127.0.0.1:6379> WATCH lock lock_times OK redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET lock "joe" # At this moment, another client modified the value of lock_times QUEUED redis 127.0.0.1:6379> INCR lock_times QUEUED redis 127.0.0.1:6379> EXEC # Because lock_times was modified, joe's transaction failed (nil)