• Redis消息订阅与发布


    监听器的创建

    package com.sogou.baike.testimport.testSubscribe;  
      
    import redis.clients.jedis.JedisPubSub;  
      
    
    public class RedisMsgPubSubListener extends JedisPubSub {  
        @Override  
        public void unsubscribe() {  
            super.unsubscribe();  
        }  
      
        @Override  
        public void unsubscribe(String... channels) {  
            super.unsubscribe(channels);  
        }  
      
        @Override  
        public void subscribe(String... channels) {  
            super.subscribe(channels);  
        }  
      
        @Override  
        public void psubscribe(String... patterns) {  
            super.psubscribe(patterns);  
        }  
      
        @Override  
        public void punsubscribe() {  
            super.punsubscribe();  
        }  
      
        @Override  
        public void punsubscribe(String... patterns) {  
            super.punsubscribe(patterns);  
        }  
      
        @Override  
        public void onMessage(String channel, String message) {  
            System.out.println("channel:" + channel + "receives message :" + message);  
            this.unsubscribe();  
        }  
      
        @Override  
        public void onPMessage(String pattern, String channel, String message) {  
      
        }  
      
        @Override  
        public void onSubscribe(String channel, int subscribedChannels) {  
            System.out.println("channel:" + channel + "is been subscribed:" + subscribedChannels);  
        }  
      
        @Override  
        public void onPUnsubscribe(String pattern, int subscribedChannels) {  
      
        }  
      
        @Override  
        public void onPSubscribe(String pattern, int subscribedChannels) {  
      
        }  
      
        @Override  
        public void onUnsubscribe(String channel, int subscribedChannels) {  
            System.out.println("channel:" + channel + "is been unsubscribed:" + subscribedChannels);  
        }  
    }  

    订阅类的创建

    public class TestSubscribe {  
        @Test  
        public void testSubscribe() throws Exception{  
            Jedis jedis = new Jedis("localhost");  
            RedisMsgPubSubListener listener = new RedisMsgPubSubListener();  
            jedis.subscribe(listener, "redisChatTest");  
            //other code  
        }  
    }  

    发布消息

    Public class TestPublish {  
        @Test  
        public void testPublish() throws Exception{  
            Jedis jedis = new Jedis("localhost");  
            jedis.publish("redisChatTest", "我是天才");  
            Thread.sleep(5000);  
            jedis.publish("redisChatTest", "我牛逼");  
            Thread.sleep(5000);  
            jedis.publish("redisChatTest", "哈哈");  
        }  
    }  
  • 相关阅读:
    PyQt5-QComboBox控件使用
    PyQt5-按钮控件使用
    PyQt5-QTextEdit控件使用
    Ubuntu12.04下YouCompleteMe安装教程(部分)
    ubuntu下vim的简单配置
    VirtualBox下vim无法正常使用问题解决
    树莓派下ubuntu-mate中ssh服务的安装与开机后自启动
    水仙花小游戏
    C语言实现判断分数等级
    临时记录(不断更新)
  • 原文地址:https://www.cnblogs.com/clovejava/p/8030423.html
Copyright © 2020-2023  润新知