欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php秒杀插件?

程序员文章站 2022-05-22 18:44:05
...
php有木有秒杀插件可推荐?或者说一个php秒杀程序实现的思路是啥?用到啥技术?

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

回复内容:

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

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

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

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

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

redis队列,memcache Memcache::decrement

相关标签: php 秒杀