zoukankan      html  css  js  c++  java
  • Redis学习笔记(8)-发布/订阅

    package cn.com;
    
    import java.util.List;
    
    import redis.clients.jedis.Jedis;
    
    public class Redis_PubSub {
    
    	public static Jedis redis = new Jedis("localhost", 6379);// 连接redis
    	
    	
    	/**
    	 * PUBLISH channel message
    	 * 将信息 message 发送到指定的频道 channel 。
    	 * */
    	public static void publish(){
    		redis.publish("student_2", "123");
    		redis.publish("student_1", "abc1");
    	}
    	
    	/**
    	 * PUBSUB <subcommand> [argument [argument ...]]
    	 * PUBSUB 是一个查看订阅与发布系统状态的内省命令, 它由数个不同格式的子命令组成,
    	 * 以下将分别对这些子命令进行介绍。
    	 * 列出当前的活跃频道。
    	 * 活跃频道指的是那些至少有一个订阅者的频道, 订阅模式的客户端不计算在内。
    	 * pattern 参数是可选的:
    	 * 如果不给出 pattern 参数,那么列出订阅与发布系统中的所有活跃频道。
    	 * 如果给出 pattern 参数,那么只列出和给定模式 pattern 相匹配的那些活跃频道。
    	 * */
    	public static void pubsub(){
    		PubSubListener listener=new PubSubListener(); 
    		redis.subscribe(listener,new String[]{"student_1","student_2"});
    		
    		
    		 
    	}
    	
    	public static void pubsubChannels(){
    		 List<String>  list=redis.pubsubChannels("student_1");
    
    		 for(String s:list){
    			 System.out.println(s);
    		 }
    		 
    	 
    		
    		 
    	}
    	
    	
    	public static void main(String [] args){
    	
    		publish();
    		pubsub();
    		pubsubChannels();
    		
    	}
    }
    

      

    package cn.com;
    
    import redis.clients.jedis.JedisPubSub;
    
    public class PubSubListener extends JedisPubSub {
    
    	 // 取得订阅的消息后的处理  
        public void onMessage(String channel, String message) {  
            System.out.println("取得订阅消息:"+channel + "=" + message);  
        }  
      
        // 初始化订阅时候的处理  
        public void onSubscribe(String channel, int subscribedChannels) {  
            // System.out.println(channel + "=" + subscribedChannels);  
        }  
      
        // 取消订阅时候的处理  
        public void onUnsubscribe(String channel, int subscribedChannels) {  
            // System.out.println(channel + "=" + subscribedChannels);  
        }  
      
        // 初始化按表达式的方式订阅时候的处理  
        public void onPSubscribe(String pattern, int subscribedChannels) {  
            // System.out.println(pattern + "=" + subscribedChannels);  
        }  
      
        // 取消按表达式的方式订阅时候的处理  
        public void onPUnsubscribe(String pattern, int subscribedChannels) {  
            // System.out.println(pattern + "=" + subscribedChannels);  
        }  
      
        // 取得按表达式的方式订阅的消息后的处理  
        public void onPMessage(String pattern, String channel, String message) {  
            System.out.println(pattern + "=" + channel + "=" + message);  
        }  
    
    }
    

      

  • 相关阅读:
    使用 Fiddler 对android模器进行Http监控(转)
    UDID替代方案(转)
    iPhone用nib/xib文件载入窗口,和用代码写窗口,到底哪个快?(转)
    UINavigationController修改默认的动画
    《Programming WPF》翻译 第8章 5.创建动画过程
    《Programming WPF》翻译 第8章 6.我们进行到哪里了?
    《Programming WPF》翻译 第8章 2.Timeline
    《Programming WPF》翻译 第9章 4.模板
    《Programming WPF》翻译 第9章 1.自定义控件基础
    《Programming WPF》翻译 第9章 前言
  • 原文地址:https://www.cnblogs.com/zuolun2017/p/5611982.html
Copyright © 2011-2022 走看看