##转载请标明出处 http://coderknock.com ######源码:http://git.oschina.net/sanchan/SparkJsonRedis ####消息publish端
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<String> 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();
}
}
}
#####消息订阅端
/**
* 拿客 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();
}
}
#####订阅端监听器
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订阅者与发布者: ####订阅监听: