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 相关文章推荐
第十三节--对象串行化
Nov 16 PHP
使用PHP数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
PHP 翻页 实例代码
Aug 07 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
php实现微信发红包
Dec 05 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
PHP中overload与override的区别
Feb 13 PHP
详解PHP Swoole与TCP三次握手
May 27 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和ACCESS写聊天室(二)
2006/10/09 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
javascript基础知识讲解
2017/01/11 Javascript
聊聊JavaScript如何实现继承及特点
2017/04/07 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python删除服务器文件代码示例
2018/02/09 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
pytorch forward两个参数实例
2020/01/17 Python
python统计字符的个数代码实例
2020/02/07 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
为什么要做架构设计
2015/07/08 面试题
2014组织生活会方案
2014/05/19 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js