問題:當客戶預約時產生一個訂單,該訂單需要業務人員搶單后跟進
一,產生訂單時設置redis
$redis = new Redis();
$ydkey = "yyqd_".$insertId;
$exptime = 600;//過期時間 600秒
$redis->lpush($ydkey,$$data);//壓入訂單ID
$redis->expire($ydkey, $exptime);//設置過期時間
$redis->set("yyqdtime_".$insertId,1,$exptime);
二,業務人員搶單
$redis = new Redis();try{$yyqdtime = $redis->get("yyqdtime_".$id);if(empty($yyqdtime)){//過期了從數據庫查詢}else{$data = $redis->lpop("yyqd_".$id);//取出數據 }}catch (Exception $e){//異常處理}
三,也可直接在搶單時先將業務人員ID壓入隊列,另外啟動進程從隊列中逐個取出業務人員ID進行數據處理