redis发布订阅详解

KLQ 2020-07-29 15:06:05 java常见问答 8265

redis里面很重要的一个功能就是发布订阅,但是有很多人这方面都不是很了解,那么下面要给大家介绍的就是这方面的内容。

发布订阅是当前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者可将订阅者感兴趣的事件随时通知相关订阅者。

比较经典的应用场景就是微博和公众号,任何粉丝只要关注了某一个人的微博或者公众号,这个微博或者公众号只要有状态更新,都会把消息推送给粉丝。

下面的话,就基于Redis来实现这么一个发布订阅的功能:

1、引入Redis依赖jar包

2、建立一个Publisher (发布者)线程类

建立Publisher线程类

定义一个订阅者类,继承JedisPubSub,重写其触发方法:

定义一个订阅者类

3、创建一个订阅者线程类,用来控制订阅者订阅消息频道

创建一个订阅者线程类

4、创建两个pub发布端,用来发布不同的频道信息

创建两个pub发布端

5、创建一个消费者客户端Sub

创建一个消费者客户端Sub

6、在pub1,pub2分别输入信息,sub都可以接收到,一分钟后,在pub1输入信息,sub不再接收

redis发布订阅

更多redis常见问题,请继续来奇Q工具网了解吧。

推荐阅读:

redis常用命令如何操作?redis命令有哪些?

为什么Redis单线程快?原因是什么?

redis常见面试题有哪些?redis集群面试题及答案整理