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 相关文章推荐
如何使用动态共享对象的模式来安装PHP
Oct 09 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
解析php中const与define的应用区别
Jun 18 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
Mar 07 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
Apr 09 PHP
解决php extension 加载顺序问题
Aug 16 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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测试程序运行时间的类
2012/02/05 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
教你用十行node.js代码读取docx的文本
2017/03/08 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
家长写给老师的建议书
2014/03/13 职场文书
体育之星事迹材料
2014/05/11 职场文书
画展邀请函
2015/01/31 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
企业员工辞职信范文
2015/05/12 职场文书
工会经费申请报告
2015/05/15 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
银行工作心得体会范文
2016/01/23 职场文书