当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-24 13:43:29 浏览: 评论:0 

这篇文章主要介绍了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程序设计有所帮助。

Tags: PHP多机互锁

分享到: