Maison  >  Article  >  développement back-end  >  php秒杀插件?

php秒杀插件?

WBOY
WBOYoriginal
2016-06-06 20:41:061009parcourir

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

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

回复内容:

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

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

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

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

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

redis队列,memcache Memcache::decrement

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn