首页 » Java » Spring » 正文

在Spring Boot中使用Spring Data Redis实现基于“发布/订阅”模型的消息队列

一 简介

我们常听说的MQ中间件通常有ActiveMQ、RabbitMQ、Kafka等等。除此之外,Redis也可以用作基于“发布/订阅”模型的消息推送,不过Redis实现的是一种简单的消息队列,不仅在可靠性方面比不上其他专业的消息中间件,而且Redis的消息推送也不支持Topic分组、点对点模型的消息队列。

然而,如果我们已经在项目中使用Redis作数据缓存,同时我们的消息推送数量也不大,对可靠性要求也不是特别高,那么我们就可以使用Redis来实现消息队列了。

注:

二 Spring Data Redis实现基于“发布/订阅”模型的消息队列

(1)在pom.xml文件中添加相关依赖:

(2)添加一个消息接收者:

这个消息接收者只是一个简单的POJO,主要包含一个怎么处理接收到的消息的方法。

需要注意的是,receiveMessage方法中cn.zifangsky.model.User类型的参数“message”表示我们在后面发送到Redis中的消息类型也是cn.zifangsky.model.User类型,二者需要一一对应(或者也使用Object接收)。

(3)Redis相关的JavaConfig配置:

从上面代码可以看出,这里添加了一个消息监听器,监听的Topic是“topic-test”,对应的消息处理就是我们上面定义的cn.zifangsky.model.Receiver类。

注:上面代码中使用的参数如下:

(4)测试“发送/接收”消息:

运行测试用例后,效果如下:

参考:

发表评论

*