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事务的过程中被处理。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块的执行 |
评论前必须登录!
注册