通過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); } }