exec

Englisch [ɪgˈzek] US [ɪɡ'zek]

Abk.Execute-Ausführung; Executive-Ausführung

Plural: Execs

redis EXEC-Befehl Syntax

Funktion: Befehle innerhalb aller Transaktionsblöcke ausführen.

Syntax: EXEC

Erläuterung: Wenn ein bestimmter (oder ein bestimmter) Schlüssel vom WATCH-Befehl überwacht wird und es Befehle gibt, die sich auf diesen (oder diese) Schlüssel im Transaktionsblock beziehen, dann wird der EXEC Befehl Es wird nur ausgeführt und wirksam, wenn dieser (oder diese) Schlüssel nicht durch andere Befehle geändert wurden, andernfalls wird die Transaktion abgebrochen.

Verfügbare Versionen: >= 1.2.0

Zeitkomplexität: Die Summe der Zeitkomplexität aller Befehle innerhalb des Transaktionsblocks.

Rückgabe: Der Rückgabewert aller Befehle innerhalb des Transaktionsblocks, angeordnet in der Reihenfolge der Befehlsausführung.

Wenn der Vorgang unterbrochen wird, geben Sie den leeren Wert null zurück.

redis EXEC-Befehl Beispiel

# 事务被成功执行
redis> MULTI
OK
redis> INCR user_id
QUEUED
redis> INCR user_id
QUEUED
redis> INCR user_id
QUEUED
redis> PING
QUEUED
redis> EXEC
1) (integer) 1
2) (integer) 2
3) (integer) 3
4) PONG
# 监视 key ,且事务成功执行
redis> WATCH lock lock_times
OK
redis> MULTI
OK
redis> SET lock "huangz"
QUEUED
redis> INCR lock_times
QUEUED
redis> EXEC
1) OK
2) (integer) 1
# 监视 key ,且事务被打断
redis> WATCH lock lock_times
OK
redis> MULTI
OK
redis> SET lock "joe"        # 就在这时,另一个客户端修改了 lock_times 的值
QUEUED
redis> INCR lock_times
QUEUED
redis> EXEC                  # 因为 lock_times 被修改, joe 的事务执行失败
(nil)