php實(shí)現(xiàn)訂單自動取消的方法:1、通過一個線程去掃描數(shù)據(jù)庫或者數(shù)據(jù)庫定時任務(wù);2、使用Redis;3、通過JDK延遲隊(duì)列 ;4、用RabbitMQ ActiveMQ JMS進(jìn)行判斷訂單是否超時,如果超過時間將消息刪除。
推薦:《PHP視頻教程》
php 訂單超時自動取消方案
訂單超時自動取消方案
1、小的項(xiàng)目訂單量不大的話,可以采用數(shù)據(jù)庫輪詢的方式
小型項(xiàng)目常用方式,通過一個線程去掃描數(shù)據(jù)庫或者數(shù)據(jù)庫定時任務(wù),通過訂單時間,判斷超時的訂單,進(jìn)行更新狀態(tài)或者其他操作。
2、Redis
redis是一個開源的、高性能、基于鍵值對的緩存與存儲系統(tǒng),通過提供多種鍵值數(shù)據(jù)類型來適應(yīng)不同的場景,通過提供多種鍵值數(shù)據(jù)適應(yīng)不同場景來適應(yīng)緩存與存儲的需求,value的類型可以提供String Map List Sets sortedSets類型。
3、JDK延遲隊(duì)列
DelayQueue 是一個無界阻塞隊(duì)列,只有在延遲期滿時才從中獲取元素,放入DelayQueue中的對象需要實(shí)現(xiàn)Delayed接口。
4、用RabbitMQ ActiveMQ JMS進(jìn)行判斷訂單是否超時,隊(duì)列中可以設(shè)置判斷類型 從進(jìn)入隊(duì)列開始 如果條件符合,直接持久化,如果超過時間將消息刪除。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com