PHP秒杀系统的流程是怎样?

商品有一百件,涌入1000个请求。前200的请求保留,后800的请求直接返回暂无。

这两百个请求,最终下单成功的只能有一百个。

这两百个请求直接按照队列生成订单吗?

可是生成订单前不是要勾选地址等信息吗?

应该如何处理整个流程?

阅读 3.7k
2 个回答

不是直接生成订单,所谓队列,就是放入场券在里面,凭券购买!可以都是数字1,也可以其他的来代替!redis是单线程,出队也是按先后的,队列空时返回false。只要用户拿到入场券,立即将该商品放入该用户的购物车,直接走普通的购物流程即可!

直到最后一步才是队列/加锁锁。。开始都是填信息,最后一步提交库存的时候要加锁了,简单的就是memcache add就行,如果比较复杂就走队列去处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题