php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的:sql1:查询商品库存if(库存数量 > 0){//生成订单...sql2:库存-1}当没有并发时,上面的流程看起来是如此完美,假设同时两个人下单,而库存只有1个了,在sql1阶段两个人查询到的库存都是>0的,于是最终都执行了sql2,库存最后变为-1,超售了,要么补库存,要么等用户投诉吧。解决这个问题比较流行的思路:1.用额外的单进程处理一个队列,下单请求放到队列里,一个个处...