安徽福凯建设集团网站,包头网站建设制作,创建一个自己的公司翻译,株洲企业网站建设费用延迟队列是指把当前要做的事情,往后推迟一段时间再做。
延迟队列在实际工作中和面试中都比较常见,它的实现方式有很多种,然而每种实现方式也都有它的优缺点,接下来我们来看。
延迟队列的使用场景
延迟队列的常见使用场景有以下几种: 超过 30 分钟未支付的订单,将会被取…延迟队列是指把当前要做的事情,往后推迟一段时间再做。
延迟队列在实际工作中和面试中都比较常见,它的实现方式有很多种,然而每种实现方式也都有它的优缺点,接下来我们来看。
延迟队列的使用场景
延迟队列的常见使用场景有以下几种:
超过 30 分钟未支付的订单,将会被取消外卖商家超过 5分钟未接单的订单,将会被取消在平台注册但 30天内未登录的用户,发短信提醒等类似的应用场景,都可以使用延迟队列来实现。
常见实现方式
Redis延迟队列实现的思路、优点:目前市面上延迟队列的实现方式基本分为三类,第一类是通过程序的方式实现,例如JDK自带的延迟队列DelayQueue,第二类是通过MQ框架来实现,例如 RabbitMQ可以通过rabbitmq-delayed-message-exchange插件来实现延迟队列,第三类就是通过Redis的方式来实现延迟队列。
程序实现方式
JDK自带的DelayQueue实现延迟队列,代码如下:
public class DelayTest {public static void main(String[] args) throws InterruptedException {DelayQueue delayQueue = new DelayQueue();delayQueue.put(new DelayElement(1000));delayQueue.put(new DelayElement(3000));delayQueue.put(new DelayElement(5000));Sys