首页 > 代码库 > redis学习教程三《发送订阅、事务、连接》

redis学习教程三《发送订阅、事务、连接》

redis学习教程三《发送订阅、事务、连接》

 一:发送订阅
      Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 发布订阅(pub/sub)实现了消
息系统,发送者(在redis术语中称为发布者)在接收者(订阅者)接收消息时发送消息。传送消息的链路称为信道。 

     

示例

以下示例说明了发布用户概念的工作原理。 在以下示例中,一个客户端订阅名为“redisChat”的信道。

redis 127.0.0.1:6379> SUBSCRIBE redisChat
Reading messages... (press Ctrl-C to quit) 
1) "subscribe" 
2) "redisChat" 
3) (integer) 1
Shell

现在,两个客户端在名称为“redisChat”的相同信道上发布消息,并且上述订阅的客户端接收消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique" 
 (integer) 1 
 redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by yiibai" 
 (integer) 1 
1) "message" 
2) "redisChat" 
3) "Redis is a great caching technique" 
1) "message"
2) "redisChat" 
3) "Learn redis by yiibai"
Shell

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事务由命令MULTI命令启动,然后需要传递一个应该在事务中执行的命令列表,然后整个事务由EXEC命令执行。

示例

以下示例说明了如何启动和执行Redis事务。
redis 127.0.0.1:6379> MULTI 

OK 
redis 127.0.0.1:6379> SET mykey "redis"
QUEUED 
redis 127.0.0.1:6379> GET mykey
QUEUED 
redis 127.0.0.1:6379> INCR visitors
QUEUED 
redis 127.0.0.1:6379> EXEC
1) OK 
2) "redis" 
3) (integer) 1
Shell

Redis事务命令

下表列出了与Redis事务相关的一些基本命令。

序号命令说明
1 DISCARD 丢弃在MULTI之后发出的所有命令
2 EXEC 执行MULTI后发出的所有命令
3 MULTI 标记事务块的开始
4 UNWATCH 取消 WATCH 命令对所有 key 的监视。
5 WATCH key [key …] 监视给定的键以确定MULTI / EXEC块的执行

 

 三:Redis连接

Redis中的连接命令基本上是用于管理与Redis服务器的客户端连接。

示例

以下示例说明客户端如何向Redis服务器验证自身,并检查服务器是否正在运行。

redis 127.0.0.1:6379> AUTH "password" 
 OK 
 redis 127.0.0.1:6379> PING 
 PONG
Shell

Redis连接命令

下表列出了与Redis连接相关的一些基本命令。

序号命令说明
1 AUTH password 使用给定的密码验证服务器
2 ECHO message 打印给定的字符串信息
3 PING 检查服务器是否正在运行
4 QUIT 关闭当前连接
5 SELECT index 更改当前连接的所选数据库
 
    

redis学习教程三《发送订阅、事务、连接》