Redis事务discard命令

Redis事务discard命令教程

Redis 事务的 discard 命令用于取消 事务,放弃执行事务块内的所有命令。如果正在使用 WATCH 命令监视某个(或某些) key,那么取消所有监视,等同于执行命令 UNWATCH

Redis discard命令详解

语法

192.168.98.70:6379> discard

返回值

总是返回 OK。

时间复杂度

O(1)

可用版本

>= 2.0.0

案例

discard放弃事务执行

使用 discard 命令放弃事务执行

127.0.0.1:6379> set name "haicoder" OK 127.0.0.1:6379> set age 109 OK 127.0.0.1:6379> watch name age OK 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> SET course "redis" QUEUED 127.0.0.1:6379> DISCARD OK 127.0.0.1:6379> exec (error) ERR EXEC without MULTI

首先,我们使用 set 命令,设置了 name 的值为 “HaiCoder” 和 age 的值为 109,接着,我们使用 watch 命令同时监视了 name 的值和 age 的值。

接着,我们使用 multi 命令开始了一个事务,并且在事务里,我们使用 set 命令设置了 course 的值为 “redis”,最后使用 DISCARD 命令取消事务的执行。

最后,我们再次使用 exec 命令执行事务,此时执行事务失败,因为我们已经使用了 DISCARD 命令取消了事务的执行。

Redis事务discard命令总结

Redis 事务的 discard 命令用于取消事务,放弃执行事务块内的所有命令。如果正在使用 WATCH 命令监视某个(或某些) key,那么取消所有监视,等同于执行命令 UNWATCH。