首先引入jedis的jar包或者是依赖 这个大家可以去maven仓库下载 jedis-3.1.0.jar
首先是客户端:
package com.company;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPubSub;
import java.util.concurrent.Flow;
public class Main extends JedisPubSub { //要想接收消息就得继承这个类 jedisPubsub 下面的三个方法需要重写
public Main() {
}
@Override
public void onMessage(String channel, String message) { //收到消息会调用
System.out.println(String.format("receive redis published message, channel %s, message %s", channel, message));
}
@Override
public void onSubscribe(String channel, int subscribedChannels) { //订阅了频道会调用
System.out.println(String.format("subscribe redis channel success, channel %s, subscribedChannels %d",
channel, subscribedChannels));
}
@Override
public void onUnsubscribe(String channel, int subscribedChannels) { //取消订阅 会调用
System.out.println(String.format("unsubscribe redis channel, channel %s, subscribedChannels %d",
channel, subscribedChannels));
}
//测试方法
public static void main(String[] args) {
Main main = new Main();
Jedis jedis = new Jedis("127.0.0.1",6379);
//接收端需要传入继承了jedispubsub类的 类的实例对象 和需要订阅的频道
jedis.subscribe(main,"cctv1");
}
}
服务端就简单了 只需要创建一个jedis对象 并且发送消息
public class Publisher {
public static void main(String[] args) {
Jedis jedis = Utils.getJedis();
jedis.publish("cctv1","你好呀 这是CCTV1 发出的消息");
}
}