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