Redis中multi,exec,watch,发布与订阅模式命令介绍笔记(9)
2017-07-09 18:00
309 查看
一:事务
1. redis的目标的是: 简洁,高效,由于事务本身就是一个很复杂的东西,所有我们不能把事务做的太复杂。。。
2. multi 事务开始 begin
exec 事务执行 commit
二:命令的使用
1. multi,exec
2. 上面这段代码有几个坑。。
坑一:我们发现命令是一起执行的,如果说我的某一条命令执行失败,会回滚吗?
要求:需要回滚。
坑二:我在执行lpush的时候,lpush被其他人改变了。
要求: 在写multi的时候,不可以有其他的命令更改 “队列”中的集合。
答复: 使用watch
三:发布、订阅 模式
1. 应用场景
邮件订阅功能,粉丝关注,【一对多】的关系。
二:命令的使用
1. SUBSCRIBE channel [channel ...]
2. PUBLISH channel message
3. PSUBSCRIBE pattern [pattern ...] pattern就是模式匹配,而从达到订阅多个频道。
1. redis的目标的是: 简洁,高效,由于事务本身就是一个很复杂的东西,所有我们不能把事务做的太复杂。。。
2. multi 事务开始 begin
exec 事务执行 commit
二:命令的使用
1. multi,exec
127.0.0.1:6379> multi OK 127.0.0.1:6379> lpush fruits orange QUEUED 127.0.0.1:6379> lpush fruits nut QUEUED 127.0.0.1:6379> lpush fruits apple QUEUED 127.0.0.1:6379> exec 1) (integer) 1 2) (integer) 2 3) (integer) 3
2. 上面这段代码有几个坑。。
坑一:我们发现命令是一起执行的,如果说我的某一条命令执行失败,会回滚吗?
要求:需要回滚。
127.0.0.1:6379> multi OK 127.0.0.1:6379> lpush fruits orange QUEUED 127.0.0.1:6379> set fruits 20 QUEUED 127.0.0.1:6379> lpush fruits apple QUEUED 127.0.0.1:6379> exec 1) (integer) 1 2) OK 3) (error) WRONGTYPE Operation against a key holding the wrong kind of value 127.0.0.1:6379> lrange fruits 0 -1 (error) WRONGTYPE Operation against a key holding the wrong kind of value 127.0.0.1:6379> get fruits "20" 127.0.0.1:6379> object fruits (error) ERR wrong number of arguments for 'object' command 127.0.0.1:6379> type fruits string 127.0.0.1:6379>
坑二:我在执行lpush的时候,lpush被其他人改变了。
要求: 在写multi的时候,不可以有其他的命令更改 “队列”中的集合。
答复: 使用watch
127.0.0.1:6379> watch msg OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> set msg "2008 hello wolrd" QUEUED 127.0.0.1:6379> exec (nil) 127.0.0.1:6379> get msg "12345" 127.0.0.1:6379>
三:发布、订阅 模式
1. 应用场景
邮件订阅功能,粉丝关注,【一对多】的关系。
二:命令的使用
1. SUBSCRIBE channel [channel ...]
2. PUBLISH channel message
3. PSUBSCRIBE pattern [pattern ...] pattern就是模式匹配,而从达到订阅多个频道。
相关文章推荐
- Redis基础学习--Redis 事务(watch命令)、生存时间、排序、消息通知("发布/订阅"模式)、管道、节省空间
- Redis学习笔记(九) 命令进阶:Pub/Sub(发布/订阅)操作
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
- 学习笔记-js发布/订阅模式的简单实现
- 【学习笔记javascript设计模式与开发实践(发布--订阅模式)----8】
- 【学习笔记javascript设计模式与开发实践(发布--订阅模式)----8】
- 分布式服务框架学习笔记8 ActiveMQ入门2 发布/订阅模式
- node.js笔记之订阅发布设计模式
- java笔记--设计模式之观察者(订阅/发布)模式
- Shuttle ESB(四)——发布订阅模式实例介绍(1)
- etcdctl exec-watch 命令使用介绍
- 设计模式学习笔记(十七)——Command命令模式
- 吃烧烤之命令模式学习笔记[C++版]
- 订阅发布模式
- 发布-订阅消息模式
- 设计模式学习笔记--Command命令模式
- 设计模式笔记(15)---命令模式(行为型)
- 设计模式笔记(15)---命令模式(行为型)
- 观察者(发布订阅)模式 与 委托事件
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(2