`
cjx186
  • 浏览: 265422 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jedis实现订阅发布-publish/subscribe

 
阅读更多
 

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;

public class RedisTest {
	public static void main(String[] args) {
		Jedis jedis1 = new Jedis("10.7.13.43");
		Jedis jedis2 = new Jedis("10.7.13.43");
		Publisher pub = new Publisher();
		pub.publish(jedis1); //发布一个频道  
		Subscriber sub = new Subscriber();
		//sub.psub(jedis2, new JedisPubSubListener()); // 订阅一个频道  
	}
}

class Publisher {
	public void publish(final Jedis redisClient) {
		new Thread(new Runnable() {
			@Override
			public void run() {
				try {
					Thread.currentThread().sleep(2000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				System.out.println("发布:news.share");
				redisClient.publish("roban:test:channel", "ok");
				redisClient.publish("roban:test:channel", "hello --word");
			}
		}).start();
	}
}

class Subscriber {
	public void psub(final Jedis redisClient, final JedisPubSubListener listener) {
		new Thread(new Runnable() {
			@Override
			public void run() {
				System.out.println("订阅:news.share");
				// 订阅得到信息在lister的onMessage(...)方法中进行处理  
				// 订阅多个频道  
				// redisClient.subscribe(listener, "news.share", "news.log");  
				//redisClient.subscribe(listener, new String[]{"news.share","news.log"});  
				redisClient.subscribe(listener, new String[] { "roban:test:channel" });// 使用模式匹配的方式设置频道  
			}
		}).start();
	}
}

class JedisPubSubListener extends JedisPubSub {

	@Override
	public void onMessage(String channel, String message) {
		System.out.println(channel + "=" + message);
	}

	@Override
	public void onPMessage(String pattern, String channel, String message) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onSubscribe(String channel, int subscribedChannels) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onUnsubscribe(String channel, int subscribedChannels) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onPUnsubscribe(String pattern, int subscribedChannels) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onPSubscribe(String pattern, int subscribedChannels) {
		// TODO Auto-generated method stub

	}

}
分享到:
评论

相关推荐

    Jedis的Publish/Subscribe功能的运用

    NULL 博文链接:https://kingxss.iteye.com/blog/1420264

    jedis-2.9.0-API文档-中文版.zip

    赠送jar包:jedis-2.9.0.jar; 赠送原API文档:jedis-2.9.0-javadoc.jar; 赠送源代码:jedis-2.9.0-sources.jar; 包含翻译后的API文档:jedis-2.9.0-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId...

    jedis-2.9.0-API文档-中英对照版.zip

    赠送jar包:jedis-2.9.0.jar 赠送原API文档:jedis-2.9.0-javadoc.jar 赠送源代码:jedis-2.9.0-sources.jar 包含翻译后的API文档:jedis-2.9.0-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:...

    jedis-jedis-2.7.2

    jedis-jedis-2.7.2缓存技术应用

    jedis-3.6.0-API文档-中英对照版.zip

    赠送jar包:jedis-3.6.0.jar; 赠送原API文档:jedis-3.6.0-javadoc.jar; 赠送源代码:jedis-3.6.0-sources.jar; 赠送Maven依赖信息文件:jedis-3.6.0.pom; 包含翻译后的API文档:jedis-3.6.0-javadoc-API文档-...

    jedis-3.0.0.jar、jedis-3.0.0-javadoc.jar、jedis-3.0.0-sources.jar

    jedis3.0相关jar包,确认可用。包括:jedis-3.0.0.jar、jedis-3.0.0-javadoc.jar、jedis-3.0.0-sources.jar 3个jar包。

    jedis-2.8.0-API文档-中文版.zip

    赠送jar包:jedis-2.8.0.jar; 赠送原API文档:jedis-2.8.0-javadoc.jar; 赠送源代码:jedis-2.8.0-sources.jar; 赠送Maven依赖信息文件:jedis-2.8.0.pom; 包含翻译后的API文档:jedis-2.8.0-javadoc-API文档-...

    jedis-3.6.0-API文档-中文版.zip

    赠送jar包:jedis-3.6.0.jar; 赠送原API文档:jedis-3.6.0-javadoc.jar; 赠送源代码:jedis-3.6.0-sources.jar; 赠送Maven依赖信息文件:jedis-3.6.0.pom; 包含翻译后的API文档:jedis-3.6.0-javadoc-API文档-...

    jedis-3.0.1-API文档-中文版.zip

    赠送jar包:jedis-3.0.1.jar; 赠送原API文档:jedis-3.0.1-javadoc.jar; 赠送源代码:jedis-3.0.1-sources.jar; 赠送Maven依赖信息文件:jedis-3.0.1.pom; 包含翻译后的API文档:jedis-3.0.1-javadoc-API文档-...

    jedis-2.8.0-SNAPSHOT.jar

    jedis-2.8.0-SNAPSHOT.jar

    jedis-x64-3.2.100.jar(内含commons-pool2-2.4.2.jar)

    jedis-2.4.2.jar与comcommons-pool2-2.0.jar俩个包必须一起导入才能使用

    jedis-3.0.1-API文档-中英对照版.zip

    赠送jar包:jedis-3.0.1.jar; 赠送原API文档:jedis-3.0.1-javadoc.jar; 赠送源代码:jedis-3.0.1-sources.jar; 赠送Maven依赖信息文件:jedis-3.0.1.pom; 包含翻译后的API文档:jedis-3.0.1-javadoc-API文档-...

    jedis-2.5.1-API文档-中文版.zip

    赠送jar包:jedis-2.5.1.jar; 赠送原API文档:jedis-2.5.1-javadoc.jar; 赠送源代码:jedis-2.5.1-sources.jar; 赠送Maven依赖信息文件:jedis-2.5.1.pom; 包含翻译后的API文档:jedis-2.5.1-javadoc-API文档-...

    jedis-2.5.1-API文档-中英对照版.zip

    赠送jar包:jedis-2.5.1.jar; 赠送原API文档:jedis-2.5.1-javadoc.jar; 赠送源代码:jedis-2.5.1-sources.jar; 赠送Maven依赖信息文件:jedis-2.5.1.pom; 包含翻译后的API文档:jedis-2.5.1-javadoc-API文档-...

    jedis-2.9.0.jar

    jedis-2.9.0.jar jedis-2.9.0 jar 包,不包含源码,源码下载地址: http://download.csdn.net/download/tan3739/9993938 测试代码: 导入依赖包: commons-lang-2.5.jar commons-pool2-2.4.2.jar jedis-2.9.0 jar ...

    jedis.jar包commons-pool.jar包

    jedis2.3---jedis2.9版本jar包,附赠commons-pool.jar包

    jedis2.9-common-pool

    redis的客户端jar包,和连接池,是redis目前的最新版本

    jedis-2.5.1.jar

    Publish/Subscribe Persistence control commands Remote server control commands Connection pooling Sharding (MD5, MurmurHash) Key-tags for sharding Sharding with pipelining Scripting with pipelining

    jedis-2.8.0-sources.jar

    jedis-2.8.0-sources.jar jedis-2.8.0-sources.jar

    jedis.jar commons-pool2-2.0.jar

    java链接Redis,内含jedis的jar包和commons-pool2-2.0.jar

Global site tag (gtag.js) - Google Analytics