欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Redis实现发布订阅模式

程序员文章站 2022-07-05 11:03:00
...

简述

  • 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