>  기사  >  백엔드 개발  >  mysql - php如何防止并发

mysql - php如何防止并发

WBOY
WBOY원래의
2016-06-06 20:51:241287검색

在同一时间只能同一人访问的操作
最初想到用数据库锁的方式解决,但是无奈涉及到的表太多
不知道php有什么办法防止并发,类似于等待的程序

回复内容:

在同一时间只能同一人访问的操作
最初想到用数据库锁的方式解决,但是无奈涉及到的表太多
不知道php有什么办法防止并发,类似于等待的程序

可以使用文件锁,参考php的flock函数。

其实加数据表的锁也一样。本质上是提供一个屏障,每次访问的时候都需要 通过这个屏障。

也可以把业务分离出来, 扔给消息队列去顺序处理

使用文件锁的话,如果webserver有多台,也有可能会出现并发情况

可以考虑在redis中置一个标志位来搞定

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.