上接:http://blog.csdn.net/larrylgq/article/details/7402908 jedis实现发布订阅
修改jedis_demo类:
package com.larry.jedis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisMonitor;
/**
* 入口类
*
* @author 吕桂强
* @email [email protected]
* @version 创建时间:2012-3-28 下午12:12:41
*/
public class jedis_demo {
jedis_control redis_util = jedis_control.get_singleton();
public static void main(String[] args) {
jedis_demo jedis_demo = new jedis_demo();
//设置监控
new Thread(new Runnable() {
@Override
public void run() {
jedis_control redis_util = jedis_control.get_singleton();
Jedis jedis = redis_util.get_connection();
jedis.monitor(new JedisMonitor() {
@Override
public void onCommand(String command) {
System.out.println("#monitor: " + command);
}
});
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
jedis_control redis_util = jedis_control.get_singleton();
Jedis jedis = redis_util.get_connection();
jedis_pub_sub_listener pub_sub_listener = new jedis_pub_sub_listener();
// 可以订阅多个频道
// 订阅得到信息在lister的onMessage(...)方法中进行处理
// jedis.subscribe(listener, "news.share", "news.log");
// jedis.subscribe(listener, new String[]{"news.share","news.log"});
jedis.psubscribe(pub_sub_listener, new String[] { "news.share" });// 使用模式匹配的方式设置频道
}
}).start();
jedis_demo.publish();
}
/**
* 发布
*/
public void publish() {
Jedis jedis = redis_util.get_connection();
jedis.publish("news.share", "ok");
jedis.publish("news.share", "hello word");
}
}
#monitor: OK
#monitor: 1332918508.311191 "MONITOR"
#monitor: 1332918508.311921 "PUBLISH" "news.share" "hello word"
news.share=1
news.share=news.share=ok
news.share=news.share=hello word