java通过jedis实现redis的发布订阅功能示例
时间: 2023-08-18 13:07:07 浏览: 112
下面是一个Java通过jedis实现redis的发布订阅功能的示例代码:
```java
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;
public class RedisPubSubExample {
public static void main(String[] args) {
// 创建Jedis实例
Jedis jedis = new Jedis("localhost");
// 订阅频道
jedis.subscribe(new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
System.out.println("收到消息:" + message + ",来自频道:" + channel);
}
}, "mychannel");
// 发布消息
jedis.publish("mychannel", "hello world");
// 关闭Jedis连接
jedis.close();
}
}
```
这个示例代码中,我们首先创建了一个Jedis实例,并且通过subscribe方法订阅了一个名为"mychannel"的频道。然后我们在Jedis实例上通过publish方法发布了一条消息"hello world"到这个频道上。
由于订阅是一个阻塞方法,因此程序会一直等待,直到有消息到来。当有消息到来时,JedisPubSub实例的onMessage方法会被调用,我们在这个方法中打印出收到的消息和频道名。
最后,我们关闭Jedis连接。
阅读全文