php实现订单自动取消的方法:1、通过一个线程去扫描数据库或者数据库定时任务;2、使用Redis;3、通过JDK延迟队列 ;4、用RabbitMQ ActiveMQ JMS进行判断订单是否超时,如果超过时间将消息删除。
推荐:《PHP视频教程》
php 订单超时自动取消方案
订单超时自动取消方案
1、小的项目订单量不大的话,可以采用数据库轮询的方式
小型项目常用方式,通过一个线程去扫描数据库或者数据库定时任务,通过订单时间,判断超时的订单,进行更新状态或者其他操作。
2、Redis
redis是一个开源的、高性能、基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同的场景,通过提供多种键值数据适应不同场景来适应缓存与存储的需求,value的类型可以提供String Map List Sets sortedSets类型。
3、JDK延迟队列
DelayQueue 是一个无界阻塞队列,只有在延迟期满时才从中获取元素,放入DelayQueue中的对象需要实现Delayed接口。
4、用RabbitMQ ActiveMQ JMS进行判断订单是否超时,队列中可以设置判断类型 从进入队列开始 如果条件符合,直接持久化,如果超过时间将消息删除。