• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

redismq: 该模块是使用基于Redis列表数据类型实现的具有消息队列、可靠消息功能的模块 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

redismq

开源软件地址:

https://gitee.com/voishion/redismq

开源软件介绍:

RedisMQ

参考对象 ,在其基础上加入了可靠消息、销毁不消费等逻辑

  • Redis消息队列

Redis 消息队列的三种方案(List、Streams、Pub/Sub)

Redis实现消息队列的4种方案

  • RedisMQ功能使用说明

    该模块是使用基于Redis列表数据类型实现的具有消息队列、可靠消息功能的模块,该项目建立在Spring Boot框架之上,通过Spring提供的RedisTemplate功能访问Redis服务。

  • 如何使用

  1. 添加配置

    spring:  redis:    message-queue:      producer: true # 是否开启RedisMQ生产者模式      consumer: true # 是否开启RedisMQ消费者模式
  2. 消息生产者示例

    @Log4j2@RestController@RequiredArgsConstructorpublic class RedisMQController {    private final RedisMQSender redisMQSender;    @GetMapping("hello3")    public String send3() {        for (int i = 0; i < 50000; i++) {            if (i % 2 == 0) {                redisMQSender.send(RedisMQConstant.TEST_QUEUE, String.valueOf(i));            } else {                redisMQSender.send(RedisMQConstant.TEST_QUEUE_2, String.valueOf(i));            }            if (i == 25000) {                System.out.println(i);            }        }        return "";    }}
  3. 消息消费者示例

    创建一个RedisMQListenerContainer类用于定义redis队列消息监听处理方法。 实现redis队列监听只需在Spring容器所管理的Bean中的方法上添加注解@RedisMQListener(队列名称),队列名称是一个String类型的并且不能为空,表示该方法你需要处理的哪个队列的消息。注意被@RedisMQListener修饰的方法只能包含一个参数,这个参数可以是一个实现了java.io.Serializable接口的实体类或者包装类型参数,也可以是一个RedisMQMessage泛型类。

    @Log4j2@Componentpublic class RedisMQListenerContainer {    @RedisMQListener(RedisMQConstant.TEST_QUEUE)    public void dealRedisMessage0(RedisMQMessage message) {        log.info("dealRedisMessage0收到queue-1队列消息: {}", message);    }    @RedisMQListener(RedisMQConstant.TEST_QUEUE)    public void dealRedisMessage1(String message) {        log.info("dealRedisMessage0收到queue-1队列消息: {}", message);    }    @RedisMQListener(RedisMQConstant.TEST_QUEUE_2)    public void dealRedisMessage2(RedisMQMessage<String> message) {        log.info("dealRedisMessage0收到queue-2队列消息: {}", message);    }}

    注意:你可以定义多个带有@RedisMQListener(队列名称)注解的方法,并且队列名称相同,注意如果这样该队列中的同一消息会被这些方法重复消费。分布式集群环境中不同服务监听同一队列,同一条消息只会被其中一个服务上的所有监听该队列的方法消费。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap