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

yipeiwu_com4年前Mysql基础

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

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

复制代码 代码如下:
function get_lock()
{
    local dataId="${1}"
    local dataDate="${2}"

    local sql="insert intot_trans_lock
    (dataId, dataDate) values('${dataId}', '${dataDate}');"
    echo ${sql} | ${DB_PUBLIC}

    return $?
}

在执行失败或者结束的时候释放锁

复制代码 代码如下:
function free_lock()
{
    local dataId="${1}"
    local dataDate="${2}"
    local status="${3}"

    local sql="delete from t_trans_lock
    where dataId='${dataId}' and dataDate='${dataDate}';"
    echo ${sql} | ${DB_PUBLIC}
    if [ $? -ne 0 ]; then
        write_log ${dataId} "free lock failed"
    fi
    return ${status}
}

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

相关文章

使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法

使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法

1、新建数据库:  进入phpmyadmin管理界面以后,找到如下文字“创建一个新的数据库”,然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,如“utf8_gen...

win7+apache+php+mysql环境配置操作详解

1.php版本简介php各版本之间的区别,php版本后面一般有VC6和VC9、Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Stud...

phpStudy中升级MySQL版本到5.7.17的方法步骤

前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: [Err] 1294 - Invalid ON UPDATE clause for '字段名' column 报错的...

PHP+mysql防止SQL注入的方法小结

本文实例讲述了PHP+mysql防止SQL注入的方法。分享给大家供大家参考,具体如下: SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE u...

php基于Fleaphp框架实现cvs数据导入MySQL的方法

本文实例讲述了php基于Fleaphp框架实现cvs数据导入MySQL的方法。分享给大家供大家参考,具体如下: <?php /* * To change this t...