exec

Anglais [?g?zek] US [?ɡ'zek]

abbr.executeexecuteexecution

pluriel : execs

commande redis EXEC syntaxe

Fonction?: Exécuter des commandes dans tous les blocs de transactions.

Syntaxe : EXEC

Explication : Si une certaine (ou plusieurs) clé est sous la surveillance de la commande WATCH, et qu'il y a des commandes liées à cette (ou ces) clé dans le bloc de transaction, alors l'EXEC commande Elle ne sera exécutée et prendra effet que si cette (ou ces) clés n'ont pas été modifiées par d'autres commandes, sinon la transaction sera annulée.

Versions disponibles?: >= 1.2.0

Complexité temporelle?: La somme de la complexité temporelle de toutes les commandes au sein du bloc de transaction.

Return?: La valeur de retour de toutes les commandes du bloc de transaction, classées dans l'ordre d'exécution des commandes.

Lorsque l'opération est interrompue, renvoie la valeur vide nil .

commande redis EXEC exemple

# 事務(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"        # 就在這時(shí),另一個(gè)客戶端修改了 lock_times 的值
QUEUED
redis> INCR lock_times
QUEUED
redis> EXEC                  # 因?yàn)?nbsp;lock_times 被修改, joe 的事務(wù)執(zhí)行失敗
(nil)