1.将库存放入队列
<?php $store=1000; $redis=new Redis(); $result=$redis->connect('127.0.0.1',6379); $count=$store-$res; for($i=0;$i<$count;$i++){ $redis->lpush('goods_store',1); }?>
2.下单前判断redis队列库存量,如果有,生成订单,减少库存,如果没有,报错
$count=$redis->lpop('goods_store');
if(!$count){ insertLog('error:no store redis'); return; }
逻辑:
1.把库存lpush入队列
2lpop判断有误库存,有就生成订单,减少库存,没有就报错