redis 消息队列 过段时间不能下发_Redis 怎么做消息队列?

redis当然可以封装成队列。但如果这样讲,文件也可以做队列(kafka就是这么干的);数据库也可以做队列;管道也可以做队列;ZeroMQ也可以做队列……

我感觉题主的需求描述的比较模糊。

这个队列到底是不是生产用;如果是,要不要保证一致性。(比如用户秒杀下单)。如果是的话,光用redis是远远不够的,你必须花大力气做一致性补偿和异步幂等的工作,保证能实现exactly once语义。如果这样的话,就不如用一个正经的MQ来做更实际。RabbitMQ,nsq,kafka等都可以。

如果是生产用,但是可以容忍丢东西(比如log收集),那么也有现成的方案,fluentd,logstash……

实际上redis并不适合任何有保障数据持久性的场景。它适合做cache,不重要的存储,或者是可以反复重来的批处理计算任务的临时存储等。

当然,如果是自己玩,那么可以随意写。但记得和已有的队列系统的设计和实现做比较,了解一个真正的队列系统为什么那么复杂。相信会有不少收获。

2018年3月19日更新

有知友表示不理解“真正的队列“的含义,所以在这篇文章中阐述了一下观点:你对Redis的使用靠谱吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值