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

关于秒杀程序设计

程序员文章站 2022-06-10 12:51:37
...
目前的想法是这样:

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

请各位 各抒起见! 谢谢

回复讨论(解决方案)

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

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

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

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

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

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

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

这样不行吗?

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

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

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

就是最后一位中标!

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

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

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

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

哈哈哈...

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

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

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

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

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

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

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

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

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


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