PHP的高并发锁
1、1.模拟高并发:
许多用户抢购同一个商品(商品的数量有限)
--抢购商品表

2、2.apache本身提供了一个模拟高并发请求的工具,名字:ab.exe

3、3.使用命令:> ab.exe -n 请求的次数 -c 多少人请求 被请求地址

4、4.程序模拟用户下单,减少库存情况,我们使得60个用户过来做请求,实际库存应该剩余40个(原先是100个)
具体通过以下ab.exe进行高并发模拟请求
高并发:短时间之内对同一个页面进行大量请求

5、5.请求完毕,库存的剩余量实际为43个(与我们理论计算的结果40个不一致)

6、6.商品库存量剩余43个,说明我们的程序有问题
原因:第一个用户做请求,感知库存量为80,之后其要做减少库存操作,
在库存没有真实减少之前,第二个用户有迅速过来做请求,其获得的库存量也是80
造成的结果是两个用户分表请求一次,库存量没有减少2个,而是减少1个(库存最终都是79)

7、7.问题解决:
我们要利用“锁”机制,实现一个用户请求的时候,其他用户进行禁止做请求,直到第一个用户请求完成为止。




声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:163
阅读量:60
阅读量:27
阅读量:103
阅读量:110