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

# 事務(wù)被成功執(zhí)行
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
# 監(jiān)視 key ,且事務(wù)成功執(zhí)行
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
# 監(jiān)視 key ,且事務(wù)被打斷
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 的事務(wù)執(zhí)行失敗
(nil)