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


Posted in PHP onNovember 05, 2014

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
Jul 25 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
双冒号 ::在PHP中的使用情况
Nov 05 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 PHP
PHP命令Command模式用法实例分析
Aug 08 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 #PHP
PHP实现获取域名的方法小结
Nov 05 #PHP
php调用shell的方法
Nov 05 #PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
Nov 05 #PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 #PHP
phpnow php探针环境检测代码
Nov 04 #PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 #PHP
You might like
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
56.com视频采集接口程序(PHP)
2007/09/22 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
新大陆软件面试题
2016/11/24 面试题
应届生人事助理求职信
2013/11/09 职场文书
班组长安全生产职责
2013/12/16 职场文书
人事部主管岗位职责
2013/12/26 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
公司开会通知
2015/04/20 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书