Redis学习笔记(九)——事务进阶
2016-03-28 02:13
483 查看
事务除了本身的那个multi…exec命令组合外,还有一个命令,就是watch。
watch命令可以保证,watch的值在被修改后,事务中再执行的修改操作无法被执行(是整个事务无法执行,而不只是对那一个键值的操作无法执行)。
Shell
<span class='wp_keywordlink'><a href="http://irfen.me/tag/redis" title="redis" target="_blank">redis</a></span>>SET key 111
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命令。
watch命令可以保证,watch的值在被修改后,事务中再执行的修改操作无法被执行(是整个事务无法执行,而不只是对那一个键值的操作无法执行)。
Shell
<span class='wp_keywordlink'><a href="http://irfen.me/tag/redis" title="redis" target="_blank">redis</a></span>>SET key 111
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"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | redis>SET key 111 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命令的意义,watch命令的作用是当被监视的键值被修改后阻止之后一个事务的执行。
另外watch命令的作用在执行一个exec命令之后就会消失,如果需要提前取消监视,可以执行unwatch命令。
相关文章推荐
- Redis学习笔记(八)——事务入门
- Redis学习笔记(七)——Redis常用命令入门——有序集合类型
- Redis学习笔记(六)——Redis常用命令入门——集合类型
- Redis学习笔记(五)——Redis常用命令入门——列表类型
- Redis学习笔记(四)——Redis常用命令入门——散列类型
- Redis学习笔记(三)——Redis常用命令入门——字符串类型命令
- Redis学习笔记(二)——Redis的准备
- Redis学习笔记(一)——介绍
- 几点建议,让Redis在你的系统中发挥更大作用
- 第十章 Redis学习手册之持久化
- 第十一章 Redis学习手册之虚拟内存
- 分布式 Dubbo+Zookeeper+springmvc+mybatis+shiro+restful+activemq+redis
- redis——string类型的设计与实现
- [收藏]redis速查
- redis——redis的创建与部署
- redis cluster 配置
- Too many cluster redirections redis
- 基于Redis的三种分布式爬虫策略
- Windows系统下安装Redis
- redis持久化策略RDB和AOF