事务除了本身的那个multi...exec命令组合外,还有一个命令,就是watch。
watch命令可以保证,watch的值在被修改后,事务中再执行的修改操作无法被执行(是整个事务无法执行,而不只是对那一个键值的操作无法执行)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
OK redis>WATCH key OK redis>SET key 222 OK redis>MULTI OK redis>SET key 333 QUEUE redis>EXEC (nil) redis>GET key "222" |
如上命令,当watch了key之后,我们修改了key的值,然后在后面在执行命令修改key的值,在执行了EXEC之后,返回的(nil)也就是没有返回,也就是说事务里的命令没有被执行。
也可以这样描述watch命令的意义,watch命令的作用是当被监视的键值被修改后阻止之后一个事务的执行。
另外watch命令的作用在执行一个exec命令之后就会消失,如果需要提前取消监视,可以执行unwatch命令。
本文发表自赵伊凡BLOG
©原创文章,转载请注明来源: 赵伊凡's Blog
©本文链接地址: Redis学习笔记(九)——事务进阶
“Redis学习笔记(九)——事务进阶”的35个回复