分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

PHP使用文件排它锁,应对小型并发

发布时间:2023-09-06 01:40责任编辑:赖小花关键词:PHP
  总所知周,并发容易造成数据的重复处理,我的一个项目给游戏客户端提供了接口,游戏用户相对较多,如果使用数据库排它锁消耗的资源较高,
因而使用了文件的排它锁来应对并发。
  思路是打开一个文件并取得文件的独占锁,采用的是非阻塞,当程序运行完毕再释放独占锁资源。
      
/** ????* 加锁,独占锁 ????*/ ???public function lockFile() ???{ ???????$this->handle=fopen(‘lock‘,‘w+‘); ???????if($this->handle){ ???????????//如果文件被锁定则非阻塞操作 ???????????if(flock($this->handle,LOCK_EX | LOCK_NB)){ ???????????????return true; ???????????}else{ ???????????????\Log::INFO(‘并发啦‘); ???????????????$this->ajaxMessage(1,‘服务器繁忙,稍后再试‘); ???????????} ???????} ???????return false; ???}
/** ????*解锁 ????*/ ???public function unlockFile() ???{ ???????if($this->handle){
       //释放锁定 ???????????flock($this->handle,LOCK_UN); ???????????clearstatcache(); ???????????fclose($this->handle); ???????} ???}


PHP使用文件排它锁,应对小型并发

原文地址:https://www.cnblogs.com/IT--Loding/p/6795777.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved