上一章节我们已经学会了Redis在Java项目里面最基本的应用,我们这一章节来讲一讲Redis里面一个非常重要的功能:发布订阅
发布订阅(Pub/Sub):目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者------是不是与设计模式里面的观察者模式一个妈妈生的?
最经典的应用场景就是微博和公众号,任何粉丝只要关注(订阅)了某一个人的微博或者公众号,该微博或者公众号只有有状态更新,都会将消息推送(发布)到粉丝....
下面我们基于Redis来实现这么一个发布订阅的功能:
第一步:引入Redis依赖jar包,可以关注上一篇《Redis之HelloWorld(Java)》
第二步:建立一个Publisher (发布者)线程类
定义一个订阅者类,继承JedisPubSub,重写其触发方法:
3、创建一个订阅者线程类,用来控制订阅者订阅消息频道
4、创建两个pub发布端,用来发布不同的频道信息
5、创建一个消费者客户端Sub
6、在pub1,pub2分别输入信息,sub都可以接收到,一分钟后,在pub1输入信息,sub不再接收
有需要资料的可以加群:1023705513