www.adminn.cn
站长正能量分享网!

PHP通过插入mysql数据来实现多机互锁实例

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

这篇文章主要介绍了PHP通过插入mysql数据来实现多机互锁的方法,包括了加锁与释放锁的完整实现方法,非常实用,需要的朋友可以参考下

本文实例讲述了PHP通过插入mysql数据来实现多机互锁的方法,分享给大家供大家参考。具体实现方法如下:

在执行流程之前可以加一般锁,shell枷锁函数如下,如果成功则会返回0,否则返回非0值:

  1. function get_lock() 
  2.     local dataId="${1}" 
  3.     local dataDate="${2}" 
  4.     local sql="insert intot_trans_lock 
  5.     (dataId, dataDate) values('${dataId}''${dataDate}');" 
  6.     echo ${sql} | ${DB_PUBLIC} 
  7.  
  8.     return $? 

在执行失败或者结束的时候释放锁,代码如下:

  1. function free_lock() 
  2.     local dataId="${1}" 
  3.     local dataDate="${2}" 
  4.     local status="${3}" 
  5.     local sql="delete from t_trans_lock 
  6.     where dataId='${dataId}' and dataDate='${dataDate}';" 
  7.     echo ${sql} | ${DB_PUBLIC} 
  8.     if [ $? -ne 0 ]; then 
  9.         write_log ${dataId} "free lock failed" 
  10.     fi 
  11.     return ${status} 

希望本文所述对大家的PHP+MySQL程序设计有所帮助。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP通过插入mysql数据来实现多机互锁实例》
文章链接:https://www.adminn.cn/news/32365.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏