开发者社区 > 云原生 > 消息队列 > 正文

redis为何把订阅/发布和消息队列联系在一起?

是这样,消息队列负责存储一些信息,然后用来持久化到数据库,主要用来解决高并发下减轻数据库的压力以及解决线程阻塞问题,而redis的pub/sub功能主要用来发布和订阅消息,而且消息是瞬时的,实在想象不到它和队列有什么关系。
现在假设我要解决一个抢红包的高并发的问题,我只需要让点击红包的用户存进redis的一个list里面,然后单开一个线程不断从list中读取数据进行持久化就行了,这样实现了队列功能,也解决了线程阻塞和数据库压力问题,和消息的发布订阅也没什么关系啊,难道是我理解有误?如果是这样,请大神指点,谢谢!

展开
收起
落地花开啦 2016-02-22 16:52:51 3701 0
2 条回答
写回答
取消 提交回答
  • redis是在数据结构之上扩展了队列这种数据结构 如果要专业的,还是直接用消息队列产品,避免以后业务发展还要重构 https://www.aliyun.com/product/rocketmq?spm=5176.14414305.J_8058803260.385.3ec65960K5Guu8

    2021-03-19 22:36:14
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    edis的发布/订阅, 是一种消息通信模式,一般可以用于及时通信系统,比如聊天室,实时提醒。主要是为了解耦消息发布者和消息订阅者之间的耦合。
    就像你说的消息是瞬时的,来一个就要处理一个,在大并发下,并没有解决线程堵塞和数据库压力问题。
    如果简单的消息队列,可以用redis的list结构处理,或者选用专门的像rabbitmq等这样的

    2019-07-17 18:46:53
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 Kafka 版
  • 消息服务
  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    企业互联网架构之消息队列 立即下载
    基于消息队列RocketMQ的大型分布式应用上云最佳实践 立即下载
    云原生消息队列Apache RocketMQ 立即下载