个性化阅读
专注于IT技术分析

深入redis:发布订阅的使用和事务操作介绍

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块的执行
赞(0)
未经允许不得转载:srcmini » 深入redis:发布订阅的使用和事务操作介绍

评论 抢沙发

评论前必须登录!