Heim > Backend-Entwicklung > PHP-Tutorial > php中怎么防止向同一地址同一时间多个请求同时提交

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

WBOY
Freigeben: 2016-06-13 10:27:29
Original
1470 Leute haben es durchsucht

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


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


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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage