Redis实现发布订阅模式

简述

  • 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();
    }
}

你可能感兴趣的:(Redis实现发布订阅模式)