mysql的bug测试,针对高并发进行测试
此测试是在本地的apache测试
D:WAMPApachebinab.exe -c 200 -n 200 www.php1100.com/mysql.php(此网址是自己的测试网址,里面的代码如下)
error_reporting(0); echo '<pre class="brush:php;toolbar:false">'; mysql_connect('127.0.0.1','root','root'); mysql_select_db('jsshop'); $rel=mysql_query('select id from gg'); $id=mysql_result($rel,0,0); //求得下面表内的第一个数据 if($id>0){ $id--; //减一运算 mysql_query('update gg set id='.$id); //499 }
//表如图所示
所以进行mysql高并发的时候不能使用mysql。
解决方案,
①不用mysql,用redis,用户进来,先存到redis的链表里面,把用户的id存在链表里面,然后活动结束
②从链表里面截取发的多少奖品就截取多长的长度,发奖品,一般并发抢单,都是过几分钟后中奖名单公布
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END