ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Mysql表锁 ``` LOCK TABLE 表名1 READ|WRITE ,表名2 READ|WRITE .... UNLOCK TABLES; ``` read:读锁(共享锁),如果以这种方式锁定表,那么在锁定的过程中所有客户端只有读这个表 write:写锁(排它锁),如果以这种方式锁定表,那么只有锁定这个表的客户端可以操作这个表,其他客户端只能知道这个锁释放才可以操作。 **注意:在锁表的过程中只能操作锁定的表,如果要操作多个表,需要把多个表锁起来。** 例如:需要操作商品表和用户表,则需把2个表同时锁起来 ~~~ LOCK TABLE tb_goods READ ,tb_user READ .... UNLOCK TABLES; ~~~ <br> ## php文件锁 PHP锁定的是一个文件,所以需先有一个文件;其中锁又分为:共享锁LOCK\_SH 和 排它锁LOCK\_EX ~~~ //打开锁文件 $fp = fopen('./a.lock','r'); //开启锁 flock($fp,LOCK_SH); ... //关闭锁 flock($fp,LOCK_UN); fclose($fp); ~~~ 综合上述:锁一般是在高并发,多人同时操作同一个表的时候使用,例如下订单。由于表锁,会影响其他用户使用,所以建议使用文件锁。