Redis命令学习-Pub/Sub(发布/订阅)
2015-06-27 13:55
633 查看
PSUBSCRIBE
PSUBSCRIBE pattern [pattern ...] :订阅一个或多个符合给定模式的频道。每个模式以*作为匹配符,比如it.*匹配所有以it开头的频道(it.news,it.global.today)等。
返回值:接收到的信息。
PUBLISH
PUBLISH channel message:将信息message发送到指定的频道channel。
返回值:接收到信息message的数量。
建立订阅者:
PUBSUB
PUBSUB <subcommand>[argument...]:PUBSUB是一个查看订阅与发布系统状态的内省命令。它由多个命令组成。
-PUBSUB NUMSUB [channel-1 ... channel-N]
列出当前活跃的频道。活跃频道是指那些至少有一个订阅者的频道。
-PUBSUB NUMPAT
返回给定模式的订阅者数量,订阅模式的客户端不计算在类。
-PUBSUB CHANNELS [pattern]
返回客户端订阅的所有模式的总和。
PUNSUBSCRIBE
PUBSUBSCRIBE [pattern ...]:指示客户端退订所有给定模式。
SUBSCRIBE
SUBSCRIBE channel[channel ... ]:订阅给定的一个或者多个频道。
返回值:接收到的频道。
UNSUBSCRIBE
UNSUBSCRIBE [channel]:指定客户端退出频道。
PSUBSCRIBE pattern [pattern ...] :订阅一个或多个符合给定模式的频道。每个模式以*作为匹配符,比如it.*匹配所有以it开头的频道(it.news,it.global.today)等。
返回值:接收到的信息。
# 订阅 news.* 和 tweet.* 两个模式
# 第 1 - 6 行是执行 psubscribe 之后的反馈信息
# 第 7 - 10 才是接收到的第一条信息
# 第 11 - 14 是第二条
# 以此类推。。。
redis> psubscribe news.* tweet.*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe" # 返回值的类型:显示订阅成功
2) "news.*" # 订阅的模式
3) (integer) 1 # 目前已订阅的模式的数量
1) "psubscribe"
2) "tweet.*"
3) (integer) 2
1) "pmessage" # 返回值的类型:信息
2) "news.*" # 信息匹配的模式
3) "news.it" # 信息本身的目标频道
4) "Google buy Motorola" # 信息的内容
1) "pmessage"
2) "tweet.*"
3) "tweet.huangz"
4) "hello"
1) "pmessage"
2) "tweet.*"
3) "tweet.joe"
4) "@huangz morning"
1) "pmessage"
2) "news.*"
3) "news.life"
4) "An apple a day, keep doctors away"
PUBLISH
PUBLISH channel message:将信息message发送到指定的频道channel。
返回值:接收到信息message的数量。
建立订阅者:
psubscribe news.* tweet.*
127.0.0.1:6379> publish bad_channel "any body?"
(integer) 0
127.0.0.1:6379> publish news.msg "good"
(integer) 1
PUBSUB
PUBSUB <subcommand>[argument...]:PUBSUB是一个查看订阅与发布系统状态的内省命令。它由多个命令组成。
-PUBSUB NUMSUB [channel-1 ... channel-N]
列出当前活跃的频道。活跃频道是指那些至少有一个订阅者的频道。
-PUBSUB NUMPAT
返回给定模式的订阅者数量,订阅模式的客户端不计算在类。
-PUBSUB CHANNELS [pattern]
返回客户端订阅的所有模式的总和。
PUNSUBSCRIBE
PUBSUBSCRIBE [pattern ...]:指示客户端退订所有给定模式。
SUBSCRIBE
SUBSCRIBE channel[channel ... ]:订阅给定的一个或者多个频道。
返回值:接收到的频道。
redis> subscribe msg chat_room
Reading messages... (press Ctrl-C to quit)
1) "subscribe" # 返回值的类型:显示订阅成功
2) "msg" # 订阅的频道名字
3) (integer) 1 # 目前已订阅的频道数量
1) "subscribe"
2) "chat_room"
3) (integer) 2
1) "message" # 返回值的类型:信息
2) "msg" # 来源(从那个频道发送过来)
3) "hello moto" # 信息内容
1) "message"
2) "chat_room"
3) "testing...haha"
UNSUBSCRIBE
UNSUBSCRIBE [channel]:指定客户端退出频道。
相关文章推荐
- 用Redis实现分布式锁
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
- 超强、超详细Redis数据库入门教程
- Redis安装
- redis 管道
- centos6.5 负载均衡(nginx) session共享(redis)
- redis事务详解
- spring+redis整合入门
- PHP使用redis
- Redis 事务
- Redis有序集内部实现原理分析(二)
- 使用twemproxy部署redis集群
- redis的一点用法
- redis cluster 的手工配置
- redis info参数详解
- Redis事务操作
- Redis 字典的实现(1)
- Redis 笔记与总结4 set 和 zset 类型
- golang sortedset 实现(基于redis skiplist)
- Redis 事务总结