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