tp5.1 解决并发问题


使用场景例如: 有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地址

 详情地址 https://blog.csdn.net/qq_16887641/article/details/96855254


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM