mysql并发错误_又谈php+mysql并发数据出错问题
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                mysql并发错误_又谈php+mysql并发数据出错问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                最近,項目中的所有crond定時盡量取消,改成觸發式。
比如每日6點清理數據。
原來的邏輯,寫一個crond定時搞定
現在改為觸發式
6點之后第一個玩家/用戶? 進入,才開始清理數據。
出現了一個問題
1 如何確保第一個玩家觸發?
update xxx set shijian = date('Y-m-d',time()-6*3600)?? 返回為0?? 則表示已有人觸發過? 返回1? 表示第一個玩家 觸發
這又出現了一個問題:
第一個人進入,觸發清理數據。
第二個人進入,進入正常數據操作,但是第一個人觸發的清理數據操作也許并未完成。第二個玩家操作的數據可能被清理數據清理掉,如何防止??
最后總結了一套比較可行的方案:
$t = date(Y-m-d,time()-3600*6);
if( 執行sql'update xxx set sj_start = $t'返回的0|1 ) {
更新操作
sj_end=今天
}
if( sj_end = 今天 ){
正常操作流程
}else{
echo '正在更新操作,請稍后';
}
總結
以上是生活随笔為你收集整理的mysql并发错误_又谈php+mysql并发数据出错问题的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: DML语言DDL
- 下一篇: Visual Studio安装.nupk
