>백엔드 개발 >PHP 튜토리얼 >关于秒杀程序设计

关于秒杀程序设计

WBOY
WBOY원래의
2016-06-23 14:27:10965검색

目前的想法是这样:

      当用户参与秒杀后 把所有用户插入数据库,然后按时间轮询 直到计时器为零的时候 轮询到哪一个,这个就是中秒杀者,
      轮询时间是一秒  ,问题是 如果 到最后一秒时候 又有用户按秒杀,这时候 到让计数器加时,然后继续轮询 ,
      不知道何不合理!!!

    请各位 各抒起见! 谢谢


回复讨论(解决方案)

不是吧,要到时间的时候,LOCK住不就行了,还让询什么呀!

是啊 时间到后就锁表 禁止插入了。

然后 栈 的思想,最后一个插入的为 中标者。

如果最后一刻中标者有多人,则轮询
(其实 个人认为,轮询都不要,直接order by desc交给mysql处理查询)

哇 有道理 但是我觉得不够合理啊 
要讲究 公平 公正 

听你的秒杀,貌似只秒出去一个?

如果这样的话,我决得有个开始时间倒计时,当时间到的时候允许购买,当购买入库的时候查询是否己经有人买过,一但有第一位下单者,则停止购买。

这样不行吗?

哇 有道理 但是我觉得不够合理啊 
要讲究 公平 公正
最后一刻买入无并发,只有一人中标,最公平。

有并发 多人中标,就没法说公平了,你说给谁中标好? 还不是rand 随机其中的一个,对于其他人来说都不公平。这还多了个rand过程,还不如直接order by,让mysql来决定。

我知道 
其实秒杀的原理都一样的

就是最后一位中标!

还有 把插入时间设置成微秒(1秒=100万微秒),我就不信还能有并发。

如果真的还有并发,你的站已经很NB了,已经不可能到这里来问了,身边已经有一大批工程师了。

还有 把插入时间设置成微秒(1秒=100万微秒),我就不信还能有并发。

如果真的还有并发,你的站已经很NB了,已经不可能到这里来问了,身边已经有一大批工程师了。

哈哈哈...

呵呵 我已经解决了 在过程中遇到各种问题 就是不同浏览器 ajax 请求的时候 时间是不一样的

。。。
想想如果把时间直接显示在客户端的话 就不妥了 

最后就是用锁定表的方法来搞。。。

勉强的可以用了, 谢谢各位!!

想请教大家个问题,我不是学计算机的,所以很多东西不懂,如果我想弄个像秒杀器一样的程序,就是到指定的一个时间自动刷新点击,怎么弄呢!

呵呵 我已经解决了 在过程中遇到各种问题 就是不同浏览器 ajax 请求的时候 时间是不一样的

。。。
想想如果把时间直接显示在客户端的话 就不妥了 

最后就是用锁定表的方法来搞。。。

勉强的可以用了, 谢谢各位!!


楼主,请问你能给我开发一套这样的程序吗?我想购买,我的QQ 63566536   电话 13283250777

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