Redis EXEC 命令
Redis EXEC 命令用于执行所有事务块内的命令
( Redis >= 1.2.0 )
语法
Redis EXEC 命令语法如下:
127.0.0.1:6379> Exec
返回值
- 事务块内所有命令的返回值,按命令执行的先后顺序排列
- 当操作被打断时,返回空值 nil
范例
事务被成功执行
127.0.0.1:6379> MULTI # 标记事务开始 OK 127.0.0.1:6379> INCR cnt # 多条命令按顺序入队 QUEUED 127.0.0.1:6379> INCR cnt QUEUED 127.0.0.1:6379> PING QUEUED 127.0.0.1:6379> INCR cnt QUEUED 127.0.0.1:6379> PING QUEUED 127.0.0.1:6379> EXEC # 执行 1) (integer) 1 2) (integer) 2 3) PONG 4) (integer) 3 5) PONG
监视 key ,且事务成功执行
127.0.0.1:6379> WATCH name cnt OK 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> SET name "twle.cn" QUEUED 127.0.0.1:6379> INCR name QUEUED 127.0.0.1:6379> EXEC 1) OK 2) (integer) 1
监视 key ,且事务被打断
127.0.0.1:6379> WATCH name cnt OK 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> SET name "twle.cn" # 就在这时另一个客户端修改了 cnt 的值 QUEUED 127.0.0.1:6379> INCR cnt QUEUED 127.0.0.1:6379> EXEC # 因为 cnt 被修改, name 的事务执行失败 (nil)