Redis上一章教程请查看:redis有序集和HyperLogLog结构使用详解
这一章我们讨论redis发布订阅的基本使用以及redis事务操作。
一、redis发布订阅基本使用Redis发布/订阅实现了消息传递系统,发送方(在Redis术语中称为发布者)发送消息,而接收方(订阅者)接收消息,传递消息的链路称为信道,在Redis中客户端可以订阅任意数量的频道。
下面的示例解释了发布订阅者概念的工作方式,在下面的示例中一个客户端订阅了一个名为redisChat的通道。
redis > SUBSCRIBE redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
现在两个客户端在同一个名为redisChat的通道上发布消息,上面订阅的客户端正在接收消息。
redis > PUBLISH redisChat "Redis可用于Web缓存"
(integer) 1
redis > PUBLISH redisChat "Redis教程"
(integer) 1
1) "message"
2) "redisChat"
3) "Redis可用于Web缓存"
1) "message"
2) "redisChat"
3) "Redis教程"
Redis发布订阅所有命令
编号 | 命令 & 简述 |
1 | PSUBSCRIBE pattern [pattern … ] 订阅与给定模式匹配的通道。 |
2 | PUBSUB subcommand [argument [argument … ]] 表示发布/订阅系统的活动状态。 |
3 | PUBLISH channel message 向通道发送消息。 |
4 | PUNSUBSCRIBE [pattern [pattern … ]] 停止监听发送到与给定模式匹配的通道的消息。 |
5 | SUBSCRIBE channel [channel … ]侦听发布到给定通道的消息。 |
6 | UNSUBSCRIBE [channel [channel … ]] 停止侦听发送到指定频道的消息。 |
事务中的所有命令都作为单个独立操作顺序执行,另一个客户端发出的请求不可能在执行Redis事务的过程中被处理。Redis事务也是原子性的,原子意味着要么处理所有命令,要么一个也不处理。
Redis事务由命令MULTI启动,然后你需要传递一个应该在事务中执行的命令列表,然后整个事务由EXEC命令执行。
redis > MULTI
OK
这里是命令列表
redis > EXEC
下面的例子解释了如何启动和执行Redis事务。
redis > MULTI
OK
redis > SET db redis
QUEUED
redis > GET db
QUEUED
redis > INCR visitors
QUEUED
redis > EXEC
1) OK
2) "redis"
3) (integer) 1
Redis事务操作的所有命令
编号 | 命令 & 简述 |
1 | DISCARD 执行MULTI后丢弃所有命令的执行 |
2 | EXEC 执行MULTI之后发出的所有命令 |
3 | MULTI 标记事务块的开始 |
4 | UNWATCH 取消所有监听过的key |
5 | WATCH key [key … ] 监视给定的键以确定MULTI/EXEC块的执行 |
推荐阅读
- redis有序集sorted set类型和HyperLogLog结构操作使用介绍
- redis列表list类型和集合set类型使用详解
- redis字符串string类型和散列hash类型操作使用详解
- redis命令和关键字命令介绍
- redis深入教程(配置redis、redis所有数据类型详解)
- redis入门介绍以及在windows和linux上安装redis
- 构建自定义模块 — Quill富文本编辑器快速入门中文文档
- 将Quill添加到项目构建管道中 — Quill富文本编辑器快速入门中文文档
- 如何自定义或定制Quill( — Quill富文本编辑器快速入门中文文档)