
Redis及非关系型数据库 基于Redis实现延时队列一:基础知识
背景我们先看看以下业务场景当订单一直处于未支付状态时如何及时的关闭订单并退还库存如何定期检查处于退款状态的订单是否已经退款成功新创建店铺N天内没有上传商品系统如何知道该信息并发送激活短信等等为了解决以上问题最简单直接的办法就是定时去扫表每个业务都要维护一个自己的扫表逻辑当业务越来越多时我们会发现扫表部分的逻辑会非常类似我们可以考虑将这部分逻辑从具体的业务逻辑里面抽出来变成一个公共的部分那么开源界是否已有现成的方案呢答案是肯定的Beanstalkdhttpkrgithubiobeanstalkd它基本上已经满足以上需求但是在删除消息的时候不是特别方便需要更多的成本而且它是基于C语言开发的当时我们