业务关于一个抢先发言的问题,假设有1000个用户,5秒钟内抢先发言,且只能有一个人发言;5秒后谁也不能发言
由于客户要求,不能使用session我是这样处理的
数据库中建立一个发言表tableWords,如果有第一个用户要抢先发言则,添加一条记录,之后其他的用户在抢发言,如果表中有记录,则不让发言;这样做似乎没有问题,但考虑到并发的情况,很有可能1000个用户中有多个人在同一毫秒都执行了insert 操作,,如何只让一个用户insert了?
由于客户要求,不能使用session我是这样处理的
数据库中建立一个发言表tableWords,如果有第一个用户要抢先发言则,添加一条记录,之后其他的用户在抢发言,如果表中有记录,则不让发言;这样做似乎没有问题,但考虑到并发的情况,很有可能1000个用户中有多个人在同一毫秒都执行了insert 操作,,如何只让一个用户insert了?
解决方案 »
- 怎么把你一个数组送到SELECT选择框中?
- php开发CRM系统的用户权限设计问题
- PHP初学者问<?php。。。 ?>如何书写 比较快??
- 遇到一个PHP连接MySQL问题,PHP支持MySQL,但是总是提示Access denied for user 'IUSR_TOMC-YKJ'@'localhost' (using password
- 大家慎用MB_STRING字符集函数,有危险!!
- 最基本的,php和apache的安装。
- 一个小程序
- 大家可以去www.phpx.com吗?
- phpMyadmin的为什么不能显示中文?
- 怎么样严格控制表格的宽度啊!
- 关于JMAIL正文内容正常,但是后面多了很多乱码的问题
- 导入表的问题
$count=mysqlq("select count(id) from tableWords ");
if($count<1) {
//假设开始抢的过程中,有10个用户都进入了这个条件分支,尽管有排队,不就都insert 了吗? insert into tableWords()values(...);
}