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 会话(session 时间设定)使用入门代码
Jun 05 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
php抓取页面的几种方法详解
Jun 17 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php微信公众号开发之校园图书馆
Oct 20 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
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP 变量的定义方法
2010/01/26 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
php获取当前url地址的方法小结
2017/01/10 PHP
javascript语言结构小记(一)
2011/09/10 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
详解python中index()、find()方法
2019/08/29 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
试用期员工考核制度
2014/01/22 职场文书
大学生社会实践评语
2014/04/25 职场文书
文明之星事迹材料
2014/05/09 职场文书
水电站项目建议书
2014/05/12 职场文书
节约用水的口号
2014/06/20 职场文书
冰峪沟导游词
2015/02/09 职场文书
债务纠纷代理词
2015/05/25 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
详解PHP设计模式之依赖注入模式
2021/05/25 PHP