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

# 事务被成功执行
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)