Yii+mysql锁表的方法来防止并发情况下的数据复制
本文阐述了防止在并行Yii + MySQL表加锁的情况下数据复制的方法,分享给您参考,如下:锁表读锁
如果线程获得表上的读锁,则线程和所有其他线程只能从表中读取数据,并且不执行写操作。
锁定表用户读取;读/锁表
解锁表;解锁
锁定表用户读取本地文件;读取本地锁表,其他线程插入不被阻塞,更新被阻塞。
锁表写入锁
如果一个线程获得一个表上的写锁,那么只有拥有该锁的线程才能从表中读取和写入表。
锁定表用户写;写锁表
解锁表;解锁
在Yii的使用实例
*当天的单项目状态
* /
公共功能getpointaready(美元市场,美元白天){
模型:模型:美元= sysrun()-> findbyattributes(阵列('syr_marking= >美元市场,'syr_daytime= > $白天));
如果(空($)){
写锁表
Yii::APP()->数据库-> createcommand()-> setText(锁表{ { sys_run } }写)->执行();
SysRun()美元=新模型;
元模型-> syr_marking =美元市场;
元模型-> syr_daytime = $白天;
模型-> syr_val = 0美元;
模型-> syr_subval = 0美元;
元模型>;
解锁/表
Yii::APP()->数据库-> createcommand()-> setText(打开表)→执行();
}
返回$模型;
}
更多关于Yii相关内容感兴趣的读者可以查看主题:Yii框架介绍和常用的技术,总结优良的PHP开发框架
希望本文有助于基于Yii框架的PHP程序设计人。