PHP通过插入MySQL数据多机互锁的解决办法
内容摘要
这篇文章主要为大家详细介绍了PHP通过插入MySQL数据多机互锁的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
本文实例
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
本文实例
文章正文
这篇文章主要为大家详细介绍了PHP通过插入MySQL数据多机互锁的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
本文实例讲述了PHP通过插入mysql数据来实现多机互锁的方法,分享给大家供大家参考。具体实现方法如下:
在执行流程之前可以加一般锁,shell枷锁函数如下,如果成功则会返回0,否则返回非0值:
代码如下:
1 2 3 4 5 6 7 8 9 10 | <code> 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 $? }</code> |
在执行失败或者结束的时候释放锁
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <code> 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} }</code> |
希望本文所述对大家的PHP+MySQL程序设计有所帮助。
注:关于PHP通过插入MySQL数据多机互锁的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释