Redis模拟多个redis客户端实现订阅功能

是这样的,想请问一下,Redis模拟多个redis客户端实现订阅功能
最新回答
喻夜白

2025-03-01 11:15:06

1.
开启redis服务器,我的redis在D盘因此cmd重复开启多个redis客户端
D:
cd D:\Redis
redis-cli.exe -h 127.0.0.1 -p 6379
2.
模拟订阅频道
subscribe channe1 [channel ....] 监听某一频道
subscribe java
3.
再开一个redis客户端模拟发布消息
d:
cd D:\Redis
redis-cli.exe -h 127.0.0.1 -p 6379
publish java woyongyuanaijava

此时可以看到两个订阅了频道的客户端均能收到消息

在jedis封装好的方法中很明显的就可以看到对应的类

点进去看JedisPubSub类的源码

可以看到是一个抽象类 方法空实现 那就根据方法名来试一下吧

新建一个类去继承JedisPubSub类 重写onMessage方法 输出两个参数

再新建一个项目 去发布消息 可以看到订阅了的可以收到消息。