使用场景例如: 有3件商品 10 个人同时去购买容易出现超额出售,

Db::startTrans();  //开启事务

try{

                                                    //lock(true) 意思是加锁

       $num = Db::name(' goods ')->lock(true)->where('goods_id',1)->value('num')  // 库存

       if ( $num <=  0){

            return;

       }

       //生成订单 减少库存

      具体操作就行       

     

}catch( \Exception $e){

     

}

//测试工具 apache 下面的ab 工具 目录位置 

/lib  打开命令行

ab   -n 100 -c 100 http://www.xyh.com/index/index/mysql_unlock

        意思是 -n100次请求  每次-c 100个用户    url地址