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)相关推荐

  1. php订阅系统,php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用

    一.场景介绍 最近的一个项目需要用到发布/订阅的信息系统,以做到最新实时消息的通知.经查找后发现了redis pub/sub(发布/订阅的信息系统)可以满足我的开发需求,而且学习成本和使用成本也比较低 ...

  2. springBoot redis开发的Java快递代拿系统(含人脸识别,验证码登录)

     源码获取:我的博客资源页面可以下载!!!! 项目名称 springBoot redis开发的Java快递代拿系统(含人脸识别,验证码登录) 系统介绍 快递代拿系统 > 该项目使用当前最为流行的 ...

  3. Redis能够存储java对象吗?

    Redis能够存储java对象吗? 答案:是可以,但是你对象必须要序列化. redis没有办法把一个没有序列化的对象存储到redis中. package com.kuangstudy.entiy;im ...

  4. SpringBoot、Redis轻松实现Java高并发秒杀系统笔记

    秒杀项目 优极限[完整项目实战]半天带你用SpringBoot.Redis轻松实现Java高并发秒杀系统 文章目录 秒杀项目 技术栈 课程介绍 学习目标 如何设计一个秒杀系统 项目搭建 分布式会话 登 ...

  5. Spring mvc Data Redis—Pub/Sub(附Web项目源码)

    一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...

  6. Spring Data Redis—Pub/Sub(附Web项目源码)

    一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...

  7. Redis pub/sub机制在实际运用场景的理解(转载)

    Redis 的pub/sub机制与23种设计模式中的观察者设计模式极为类似.但Redis对于这个机制的实现更为轻便和简结,没有观察者模式的那么复杂的逻辑考虑而仅仅需要通过两个Redis客户端配置cha ...

  8. 硬核 | Redis Pub/Sub 发布订阅与宅男有什么关系?

    "65 哥,如果你交了个漂亮小姐姐做女朋友,你会通过什么方式将这个消息广而告之给你的微信好友?" "那不得拍点女朋友的美照 + 亲密照弄一个九宫格图文消息在朋友圈发布大肆 ...

  9. jredis和letucce_关于redis提供给java的 jredis和jedis的使用

    一.简介 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集合和有序集合(list,set ,sorted se ...

最新文章

  1. CCIE试验备考之交换SPAN
  2. android之实现各个组件点击事件监听
  3. [flutter专题]详解AppBar小部件
  4. ABP VNext 微服务演示,项目状态和路线图
  5. Centos新建用户无法ssh登陆
  6. L3-1 森森旅游 (30 分)
  7. 终于搞懂了Python模块之间的相互引用问题
  8. pandas.plotting
  9. 一、Oracle学习笔记:认识数据库
  10. javacpp 人脸_javacv实现人脸检测
  11. 使用mono构建c#脚本运行环境
  12. 人人都可以做深度学习应用:入门篇(下)
  13. 复选框不可编辑_你不可错过的Word操作文本小技巧 | 厉害了Word姐15
  14. OSChina 周三乱弹 —— 领悟人生,一百块钱都不给?
  15. Ubuntu跳过开机自检
  16. unity4和unity5区别
  17. Keil工程文件建立以及.hex文件的生成
  18. java计算机毕业设计学校食堂订餐管理源码+数据库+系统+lw文档+部署
  19. 天嵌科技恭祝大家元宵节快乐
  20. 避免使用std::dynamic_pointer_cast

热门文章

  1. 【Vue】Vue1.0+Webpack1+Gulp项目升级构建方案的踩坑路
  2. DNSBIND——DNS的子域授权和定义转发服务器
  3. BootStrap selectpicker
  4. lua用于ios开发
  5. Java之String类
  6. 导入Flex/Flash项目后的一个简单错误:无法创建 HTML 包装器
  7. sql server密钥
  8. ArcGIS_系列中文教程下载
  9. 专为SaaS而生的PaaS平台!
  10. java实现zip的压缩和解压(支持中文文件名)