Redis Pub/Sub (Java)
2019独角兽企业重金招聘Python工程师标准>>>
经典的广播/订阅模式,看看Redis的java如何实现:
JedisPubSub是一个抽象类,一般应该继承它,实现自己的逻辑,实现抽象方法,
在抽象方法中调用自己的逻辑即可。
- 订阅
@Test
public void subscribe_test() {
JedisPool pool = new JedisPool(new JedisPoolConfig(), host, port,
timeout);
Jedis jedis = pool.getResource();
JedisPubSub jedisPubSub = new JedisPubSub() {
@Override
public void onUnsubscribe(String channel, int number) {
System.out.println("channel: "+channel);
System.out.println("number :"+number);
}
@Override
public void onSubscribe(String channel, int number) {
System.out.println("channel: "+channel);
System.out.println("number :"+number);
}
@Override
public void onPUnsubscribe(String arg0, int arg1) {
}
@Override
public void onPSubscribe(String arg0, int arg1) {
}
@Override
public void onPMessage(String arg0, String arg1, String arg2) {
}
@Override
public void onMessage(String channel, String msg) {
System.out.println("收到频道 : 【" + channel +" 】的消息 :" + msg);
}
};
jedis.subscribe(jedisPubSub, new String[]{"channel1","channel2"});
pool.returnResource(jedis);
}
- 发布
@Test
public void publish_test() {
JedisPool pool = new JedisPool(new JedisPoolConfig(), host, port,
timeout);
Jedis jedis = pool.getResource();
long i = jedis.publish("channel1", "channel1的朋友们,你们好吗?亲");
System.out.println(i+" 个订阅者接受到了 channel1 消息");
i = jedis.publish("channel2", "你好呀,亲");
System.out.println(i+" 个订阅者接受到了 channel2 消息");
pool.returnResource(jedis);
}
转载于:https://my.oschina.net/yasenagat/blog/136787
Redis Pub/Sub (Java)相关推荐
- php订阅系统,php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用
一.场景介绍 最近的一个项目需要用到发布/订阅的信息系统,以做到最新实时消息的通知.经查找后发现了redis pub/sub(发布/订阅的信息系统)可以满足我的开发需求,而且学习成本和使用成本也比较低 ...
- springBoot redis开发的Java快递代拿系统(含人脸识别,验证码登录)
源码获取:我的博客资源页面可以下载!!!! 项目名称 springBoot redis开发的Java快递代拿系统(含人脸识别,验证码登录) 系统介绍 快递代拿系统 > 该项目使用当前最为流行的 ...
- Redis能够存储java对象吗?
Redis能够存储java对象吗? 答案:是可以,但是你对象必须要序列化. redis没有办法把一个没有序列化的对象存储到redis中. package com.kuangstudy.entiy;im ...
- SpringBoot、Redis轻松实现Java高并发秒杀系统笔记
秒杀项目 优极限[完整项目实战]半天带你用SpringBoot.Redis轻松实现Java高并发秒杀系统 文章目录 秒杀项目 技术栈 课程介绍 学习目标 如何设计一个秒杀系统 项目搭建 分布式会话 登 ...
- Spring mvc Data Redis—Pub/Sub(附Web项目源码)
一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...
- Spring Data Redis—Pub/Sub(附Web项目源码)
一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...
- Redis pub/sub机制在实际运用场景的理解(转载)
Redis 的pub/sub机制与23种设计模式中的观察者设计模式极为类似.但Redis对于这个机制的实现更为轻便和简结,没有观察者模式的那么复杂的逻辑考虑而仅仅需要通过两个Redis客户端配置cha ...
- 硬核 | Redis Pub/Sub 发布订阅与宅男有什么关系?
"65 哥,如果你交了个漂亮小姐姐做女朋友,你会通过什么方式将这个消息广而告之给你的微信好友?" "那不得拍点女朋友的美照 + 亲密照弄一个九宫格图文消息在朋友圈发布大肆 ...
- jredis和letucce_关于redis提供给java的 jredis和jedis的使用
一.简介 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合(list,set ,sorted se ...
最新文章
- CCIE试验备考之交换SPAN
- android之实现各个组件点击事件监听
- [flutter专题]详解AppBar小部件
- ABP VNext 微服务演示,项目状态和路线图
- Centos新建用户无法ssh登陆
- L3-1 森森旅游 (30 分)
- 终于搞懂了Python模块之间的相互引用问题
- pandas.plotting
- 一、Oracle学习笔记:认识数据库
- javacpp 人脸_javacv实现人脸检测
- 使用mono构建c#脚本运行环境
- 人人都可以做深度学习应用:入门篇(下)
- 复选框不可编辑_你不可错过的Word操作文本小技巧 | 厉害了Word姐15
- OSChina 周三乱弹 —— 领悟人生,一百块钱都不给?
- Ubuntu跳过开机自检
- unity4和unity5区别
- Keil工程文件建立以及.hex文件的生成
- java计算机毕业设计学校食堂订餐管理源码+数据库+系统+lw文档+部署
- 天嵌科技恭祝大家元宵节快乐
- 避免使用std::dynamic_pointer_cast