>  기사  >  백엔드 개발  >  php秒杀插件?

php秒杀插件?

WBOY
WBOY원래의
2016-06-06 20:41:061047검색

php有木有秒杀插件可推荐?或者说一个php秒杀程序实现的思路是啥?用到啥技术?

其他语言的秒杀工具也可以推荐来撸一下

回复内容:

php有木有秒杀插件可推荐?或者说一个php秒杀程序实现的思路是啥?用到啥技术?

其他语言的秒杀工具也可以推荐来撸一下

分流(随机丢弃用户) + 多次队列(缓存)

比如10个商品,10万个用户
1,按秒杀前在页面中有活跃的用户数,按一定比例,分离一批用户出来,直接返回秒杀失败,只留下300个用户
2,将这300个用户写入第一次队列,比如redis的列表,mysql中的一张表等
3,获取队列中的前10个用户,为秒杀成功,生成订单,其它用户提示秒杀失败
4,有些秒杀业务(如小米),在第三步操作时,每个用户都提示成功,但在提交用户订单资料的时候,再生成一个队列,根据提交资料的顺序,取前10名提示秒杀成功,其它用户提示秒杀失败

单个商品的秒杀可以借鉴文件系统的锁机制, 同时只有一个人/进程/线程在处理/打开/拥有状态, 直到释放/关闭/订单过期.
多个商品的秒杀可以借鉴队列的机制, 先进先出/先到先得/手快有手慢无.

redis队列,memcache Memcache::decrement

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.