Java实现Redis的消息订阅和发布
来源:互联网 发布:网络老歌曲大全100首 编辑:程序博客网 时间:2024/05/23 00:06
Java实现Redis的消息订阅和发布
Redis的订阅和发布原理可以查看资料:
http://doc.redisfans.com/pub_sub/pubsub.html#pubsub-channels-pattern
下面我就用java简单实现一下:
源码地址:
http://download.csdn.net/detail/admin1973/9769527
需要导入包:
1.编写监听:
package com.leitao.threadsync.redispub;import redis.clients.jedis.JedisPubSub;/** * Created by leitao on 2017/3/3. */public class RedisMsgPubSubListener extends JedisPubSub { @Override public void onMessage(String channel, String message) { System.out.println("channel:" + channel + "receives message :" + message); //this.unsubscribe();//取消订阅 } @Override public void onSubscribe(String channel, int subscribedChannels) { System.out.println("channel:" + channel + "is been subscribed:" + subscribedChannels); } @Override public void onUnsubscribe(String channel, int subscribedChannels) { System.out.println("channel:" + channel + "is been unsubscribed:" + subscribedChannels); }}2.订阅者
package com.leitao.threadsync.redispub;import redis.clients.jedis.Jedis;/** * Created by leitao on 2017/3/3. */public class TestSubscribe { public static void main(String[] args){ Jedis jedis = new Jedis("localhost"); RedisMsgPubSubListener listener = new RedisMsgPubSubListener(); /** * 注意:subscribe是一个阻塞的方法,在取消订阅该频道前,会一直阻塞在这,只有当取消了订阅才会执行下面的other code, * 参考上面代码,我在onMessage里面收到消息后,调用了this.unsubscribe(); 来取消订阅,这样才会执行后面的other code */ jedis.subscribe(listener, "redisChat"); //如果没有取消订阅,方法将一直堵塞在此处不会向下执行 //to do others }}
3.发布者
package com.leitao.threadsync.redispub;import redis.clients.jedis.Jedis;/** * Created by leitao on 2017/3/3. */public class TestPublish { public static void main(String[] args) throws Exception{ Jedis jedis = new Jedis("localhost"); jedis.publish("redisChat", "Redis is a great caching technique"); Thread.sleep(5000); jedis.publish("redisChat", "build your dream"); Thread.sleep(5000); jedis.publish("redisChat", "over"); }}运行:
先启动订阅者,再启动发布者,控制台打印
=完=
0 0
- Java实现Redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- Java实现redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- java使用redis发布和订阅消息
- redis 消息订阅和发布
- Redis消息的发布/订阅
- 利用redis简单实现消息订阅和发布
- 使用Spring-Redis实现消息的发布/订阅
- Java实现Redis发布/订阅
- Java实现Redis发布订阅
- redis的消息队列和发布订阅demo
- 使用jedis操作redis之消息的发布和订阅
- 使用redis实现消息发布订阅
- Redis消息订阅发布
- redis发布订阅消息
- 经典网络还是VPC,开发者作何选择?
- 定时自动生成awr报告
- Viewpager+Fragment组合研究
- Linux文件权限管理
- HDU 1000 ACM开始之路
- Java实现Redis的消息订阅和发布
- Manacher算法详解
- 监控CMDB等全面方式
- 动态创建表格--只限于一次点击
- SqlServer数据库正在还原的解决方案
- Python列表List保存对象的指针
- Windows7+Python3.5 下安装TensorFlow
- 如何在Android Studio 中配置百度地图的API
- Python 学习系列(2)and、or用法