redis消息订阅和发布实例
2016-08-06 21:03
447 查看
发布订阅(pub/sub)是一种消息通信模式,主要目的是解除消息发布者、消息订阅者之间的耦合
pub/sub的特点
1、发布者和订阅者不必同时在线,它们不必同时参与交互
2、发布者和订阅者不必相互知道对方所在的位置
3、发布者/订阅者是异步模式,发布者可不断地生产消息,订阅者则可异步地得到消息通知
pub/sub的使用场景
即时聊天、消息推送、异步写日志
创建订阅频道log
[root@localhost redis]# cd /usr/local/redis-3.0.6/src/
[root@localhost src]# redis-cli -c -p 7000
127.0.0.1:7000> subscribe log
Reading messages... (press Ctrl-C to quit)
1) "subscribe" #订阅类型
2) "log" #订阅频道
3) (integer) 1 #订阅数量
打开几个客户端,订阅channel log
localhost:6379> psubscribe log
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "log"
3) (integer) 1
然后给channel log发送消息
[root@localhost redis]# cd /usr/local/redis-3.0.6/src/
[root@localhost src]# redis-cli -c -p 7000
127.0.0.1:7000> publish log "login"
(integer) 1
客户端会收到消息
Reading messages... (press Ctrl-C to quit)
1) "pmessage"
2) "log"
3) "log"
4) "login"
pub/sub的特点
1、发布者和订阅者不必同时在线,它们不必同时参与交互
2、发布者和订阅者不必相互知道对方所在的位置
3、发布者/订阅者是异步模式,发布者可不断地生产消息,订阅者则可异步地得到消息通知
pub/sub的使用场景
即时聊天、消息推送、异步写日志
创建订阅频道log
[root@localhost redis]# cd /usr/local/redis-3.0.6/src/
[root@localhost src]# redis-cli -c -p 7000
127.0.0.1:7000> subscribe log
Reading messages... (press Ctrl-C to quit)
1) "subscribe" #订阅类型
2) "log" #订阅频道
3) (integer) 1 #订阅数量
打开几个客户端,订阅channel log
localhost:6379> psubscribe log
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "log"
3) (integer) 1
然后给channel log发送消息
[root@localhost redis]# cd /usr/local/redis-3.0.6/src/
[root@localhost src]# redis-cli -c -p 7000
127.0.0.1:7000> publish log "login"
(integer) 1
客户端会收到消息
Reading messages... (press Ctrl-C to quit)
1) "pmessage"
2) "log"
3) "log"
4) "login"
相关文章推荐
- redis作为消息队列实现代码
- redis集群新增节点:[ERR] Node is not empty
- 利用Spring的aop整合redis缓存
- Redis 实战小计
- redis AOF保存机制
- php redis扩展安装步骤
- Redis安装
- php操作redis cluster集群成功实例
- dubbo+zookeeper例子
- redis创建集群失败——can't connect to node 192.168.*.*
- Redis连接
- redis主从复制和集群实现原理
- Redis配置文件参数说明
- redis简单介绍及常用命令总结
- redis优化优秀文选
- Redis配置文件redis.conf 详解
- EOSPlatform+Dubbo+Zookeeper最佳实践
- dubbo+zookeeper例子
- Redis 命令操作
- Sping Data Redis 使用事务时,不关闭连接的问题