通过redis作为消息中间件,实现发布订阅模式的消息机制;通过频道区分不同的类型消息;
订阅某一频道:subscribe zl
发布者在此频道发布某一消息:publish zl hello
此时订阅zl频道的客户端都会接受到‘hello’消息:
基于代码实现发布消息:
/** * 基于redis的MQ消息发送机制 */ public static void testPub() throws InterruptedException { for (int i = 0; i < 100; i++) { jedis.publish("zl", "hello" + i); Thread.sleep(1000); } }
基于代码实现订阅模式:
/** * 测试消息订阅 */ public static void testSub(){ jedis.subscribe(new MyListener(), "zl"); } /** * 内部类,负责处理消息 */ private static class MyListener extends JedisPubSub { @Override public void onMessage(String channel, String message) { System.out.println(channel + ":" + message); } }