Redis實現發佈訂閱模式 簡述 Jedis實現

簡述

  • Redis可作爲消息隊列中間件使用,屬於發佈訂閱模式
  • 消息隊列可以實現【系統解耦】、【異步處理】、【流量削峯】
  • 訂閱者先訂閱某個頻道,Linux命令爲 【SUBSCRIBE 頻道名】
  • 發佈者在該頻道發佈消息,Linux命令爲 【PUBLISH 頻道名 消息內容】

Jedis實現

【訂閱者】

package com.bpf.redis.pubsub;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;

public class Subscriber extends JedisPubSub {


    /*
    * 當接收到消息後觸發該方法
    * */
    @Override
    public void onMessage(String channel, String message) {
        //業務邏輯處理
        System.out.println("頻道[" + channel + "]發佈了一條消息[" + message + "]");
    }

    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1",6379);

        Subscriber subscriber = new Subscriber();
        jedis.subscribe(subscriber,"channel");
    }
}

【發佈者】

package com.bpf.redis.pubsub;

import redis.clients.jedis.Jedis;

public class Publisher {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1",6379);
        jedis.publish("channel","歡迎學習Redis!");
        jedis.close();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章