首頁 >後端開發 >php教程 >php中怎么防止向同一地址同一时间多个请求同时提交

php中怎么防止向同一地址同一时间多个请求同时提交

WBOY
WBOY原創
2016-06-13 10:27:291468瀏覽

php中如何防止向同一地址同一时间多个请求同时提交
如题,举个例子,有个方法,里面逻辑大概如下:


function test(){
  $a = $db->query('...');//返回1或0
  if($a == 1){
  $db->set(0);//更新后下次执行此方法$a不再会是1.
  //这里是其它逻辑,问题是,如果很多请求同时调用此方法,而此方法中的set过程又稍长,那么这里的逻辑就会被执行多次,与预计的只能执行一次是不符的。
  }
}


请问大家一般怎么处理这种情况?对于投票或者跟奖品等安全性要求较高时这种情况很多。
如果用session的话请求可能来自不同的ip,如果用memcached之类的缓存保存状态,同样是有网络延迟的,shmop?求高见。

------解决方案--------------------
终了!
你是神级思维的人!我们这种人是猜不到你所想你所求,当你完成你的大作一定要给我们这些凡夫之人看看呀。。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn