PHP开发中解决并发问题的几种方案

2018-11-13 07:33:59来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

网站性能优化对于大型网站来说是非常重要的,访问网站的速度也会影响用户体验,那么PHP开发中解决并发问题的几种方案大家都清楚吗?今天就让爱站技术频道小编带大家一起进入下文了解一下吧!

PHP开发中解决并发问题的几种方案

方案一:使用文件锁排它锁

flock函数用于获取文件的锁,这个锁同时只能被一个线程获取到,其它没有获取到锁的线程要么阻塞,要么获取失败

在获取到锁的时候,先查询库存,如果库存大于0,则进行下订单操作,减库存,然后释放锁

方案二:使用Mysql数据库提供的悲观锁

Innodb存储引擎支持行级锁,当某行数据被锁定时,其他进程不能对这行数据进行操作

先查询并锁定行:

select stock_num from table where id=1 for update
if(stock_num > 0){
//下订单
update table set stock_num=stock-1 where id=1
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Thinkphp5 微信公众号token验证不成功的原因及解决方法

下一篇:PHP开发环境搭建一:PHP集成环境XAMPP的安装与配置