Quantcast
Channel: CodeSection,代码区,数据库(综合) - CodeSec
Viewing all articles
Browse latest Browse all 6262

Redis 订阅 Java实现

$
0
0
转载请标明出处 http://coderknock.com 源码:http://git.oschina.net/sanchan/SparkJsonRedis 消息publish端

```java import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;

/* * 拿客 www.coderknock.com * 微信公众号 coderknock * 作者:三产 / public class TestRedis { public static void main(String[] args) { //获取redis连接池 JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost"); try (Jedis jedis = pool.getResource()) { // jedis.set("foo", "bar"); // String foobar = jedis.get("foo"); // jedis.zadd("sose", 0, "car"); // jedis.zadd("sose", 0, "bike"); // Set sose = jedis.zrange("sose", 0, -1); // System.out.println(""); // 发布 String publishName = "testPublish"; int i = 1; while (true) { try { Thread.currentThread().sleep(1000); i++; System.out.println(jedis.publish(publishName, i + "")); if (i == 999) { break; } } catch (InterruptedException e) { e.printStackTrace(); } } } finally { pool.destroy(); } } } ``` 消息订阅端

```java /* * 拿客 www.coderknock.com * 微信公众号 coderknock * 作者:三产 /

import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;

/* * 拿客 www.coderknock.com * 微信公众号 coderknock * 作者:三产 / public class TestJedisPubSub { public static void main(String[] args) { //获取redis连接池 JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost"); try (Jedis jedis = pool.getResource()) { jedis.subscribe(new PubListener(), "testPublish"); } pool.destroy(); } } ``` 订阅端监听器

```java import redis.clients.jedis.JedisPubSub;

/* * 拿客 www.coderknock.com * 微信公众号 coderknock * 作者:三产 / public class PubListener extends JedisPubSub { // 取得订阅的消息后的处理 public void onMessage(String channel, String message) { System.out.println("取得订阅的消息后的处理"); System.out.println(channel + "=" + message); }

// 初始化订阅时候的处理 public void onSubscribe(String channel, int subscribedChannels) { System.out.println("初始化订阅时候的处理"); System.out.println(channel + "=" + subscribedChannels); } // 取消订阅时候的处理 public void onUnsubscribe(String channel, int subscribedChannels) { System.out.println("取消订阅时候的处理"); System.out.println(channel + "=" + subscribedChannels); } // 初始化按表达式的方式订阅时候的处理 public void onPSubscribe(String pattern, int subscribedChannels) { System.out.println("初始化按表达式的方式订阅时候的处理"); System.out.println(pattern + "=" + subscribedChannels); } // 取消按表达式的方式订阅时候的处理 public void onPUnsubscribe(String pattern, int subscribedChannels) { System.out.println("取消按表达式的方式订阅时候的处理"); System.out.println(pattern + "=" + subscribedChannels); } // 取得按表达式的方式订阅的消息后的处理 public void onPMessage(String pattern, String channel, String message) { System.out.println("取得按表达式的方式订阅的消息后的处理"); System.out.println(pattern + "=" + channel + "=" + message); }

} ```

Redis订阅者与发布者:
Redis 订阅 Java实现
订阅监听:
Redis 订阅 Java实现

Viewing all articles
Browse latest Browse all 6262

Trending Articles