Redis Pub发布/sub订阅实现机制
来源:互联网 发布:客户数据怎么划分 编辑:程序博客网 时间:2024/05/15 11:48
2014啦,时间如流水般哗啦啦的溜走啦,试问时间都去哪儿了?
很久没更新博客,抽空把遇到的问题和思路的整理写点。
reids的 发布订阅是为用户订阅频道,广播发送的一个消息推送机制,功能挺美的,可是我目前遇到的是如果推送消息量太大会出现性能问题,有待后续研究了,当然有哪位好心朋友已经有好的解决方案了,可以分享下。哈哈
publish:讲消息发送到指定的频道
shell:
#对没有订阅者的频道发送信息
redis> publish msg “推送公告” (interger) 0
#向一个订阅者的频道发送信息
redis> publish msg_1 "亲,该收衣服了" (interger) 1
#向多个订阅者的频道发送信息
redis> publish msg_2 "卧槽,你们都在偷窥我啊" (interger) 10
PHP-API:
$redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->publish('msg', '节操一屏幕');
subscribe:订阅给定的一个或多个频道的消息
shell:
# 订阅 msg 和 msg_1两个频道# 1 - 6 行是执行 subscribe 之后的反馈信息# 第 7 - 9 行才是接收到的第一条信息# 第 10 - 12 行是第二条redis> subscribe msg msg_1Reading messages... (press Ctrl-C to quit)1) "subscribe" # 返回值的类型:显示订阅成功2) "msg" # 订阅的频道名字3) (integer) 100 # 目前已订阅的频道数量1) "subscribe"2) "msg_1"3) (integer) 11) "message" # 返回值的类型:信息2) "msg" # 来源(从那个频道发送过来)3) "推送公告" # 信息内容1) "message"2) "msg_1"3) "亲,该收衣服了"
PHP-API:
$redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->subscribe(array('msg'), 'callback'); function callback($instance, $channelName, $message) { echo $channelName, "==>", $message,PHP_EOL; }
后续实践过程待续更新......
注:订阅subscribe是需要实施监控的,如果是测试可以常开一个终端窗口即可或通过nodejs做个监控,这样才能实施收到订阅信息。
0 0
- Redis Pub发布/sub订阅实现机制
- NoSQL之Redis---PUB/SUB(订阅与发布)---JAVA实现
- 9.Redis发布及订阅(pub/sub)
- Redis发布及订阅消息(pub/sub)
- Redis的发布/订阅(pub/sub)
- Redis发布与订阅(pub/sub)
- Redis--pub/sub(发布与订阅)
- (十一)redis 发布与订阅(pub/sub)
- Pub/Sub 发布订阅
- 发布/订阅(Pub/Sub)
- Redis命令学习-Pub/Sub(发布/订阅)
- NoSQL之Redis---PUB/SUB(订阅与发布)---基本命令
- redis源码分析之发布订阅(pub/sub)
- 分布式缓存Redis之发布/订阅(Pub/Sub)
- Redis pub/sub机制在实际运用场景的缺陷&&模拟JMS消息发布订阅的持久化特性
- Redis Pub/Sub机制介绍
- Spring-data-redis: pub/sub消息订阅
- Spring-data-redis: pub/sub消息订阅
- Spring Security教程(6)---- 使用数据库管理用户及权限
- Spring Security教程(7)---- 解决UsernameNotFoundException无法被捕获的问题
- 第五章 采用SVM和神经网络的车牌识别(流程图及详细解释)
- mysql root没有权限的问题解决
- Spring Security教程外篇(1)---- AuthenticationException异常详解
- Redis Pub发布/sub订阅实现机制
- Spring Security教程(8)---- 自定义决策管理器及修改权限前缀
- Mincost
- Spring Security教程(9)---- 自定义AccessDeniedHandler
- 时间过的悄无声息,我却依然没发觉
- Spring Security教程外篇(2)---- 乱起八糟的一下东西,自己备用
- 循环链表的创建 (采用为尾插法)
- Spring Security教程(10)---- 自定义登录成功后的处理程序及修改默认验证地址
- 使用aspnetpager,设定默认CurrentPageIndex的方法