jedis实现监控-JedisMonitor

上接: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


你可能感兴趣的:(redis,thread,String,command,Class,email)