Heim >Backend-Entwicklung >PHP-Tutorial >闲逛网易1元夺宝产生的一点小疑惑

闲逛网易1元夺宝产生的一点小疑惑

WBOY
WBOYOriginal
2016-06-06 20:22:511111Durchsuche

闲逛网易1元夺宝产生的一点小疑惑

如图所示,现在的商品剩余138次,他是怎么处理并发操作的呢,比如100个人同时把剩余的次数包尾了,那岂不是数量溢出了?一般是怎么建立数据表呢,又是怎么控制并发操作的呢,如果商品所需次数满了,又如何自动开始新的一期呢?

一直没有好的思路,望大师指点迷津。

回复内容:

闲逛网易1元夺宝产生的一点小疑惑

如图所示,现在的商品剩余138次,他是怎么处理并发操作的呢,比如100个人同时把剩余的次数包尾了,那岂不是数量溢出了?一般是怎么建立数据表呢,又是怎么控制并发操作的呢,如果商品所需次数满了,又如何自动开始新的一期呢?

一直没有好的思路,望大师指点迷津。

我跟你说 这东西从业务上根本没必要做严格锁 比如5000人夺宝 来6000人送钱又怎么样
究竟参加了多少 你知道么?我不知道,你也不知道,只有网易知道
前台多少只是一个数而已

https://segmentfault.com/q/1010000004102176/a-1020000004102233

数据库锁,文件锁

主要是利用mysql的update执行时的自动加锁功能。
页面上是138次,则多个用户并发请求时,sql如下例:

update tabl_x set xxx=139 where xxx=138;

这条语句只会成功一次,其他请求执行时'xxx'已经不是138了,所以都会失败。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn