laravel框架中Cache缓存类中的原子锁
生活随笔
收集整理的這篇文章主要介紹了
laravel框架中Cache缓存类中的原子锁
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- laravel框架中Cache緩存類中的原子鎖
如果沒有執(zhí)行完該用戶下的鎖,再次請求將拋出異常,解決并發(fā)問題
try{$lock_key = "invoice:store:uid:{$uid}";$isLocked = Cache::lock($lock_key)->get(); //創(chuàng)建鎖if (!$isLocked) {throw new \Exception('生成發(fā)票出錯(cuò),同一時(shí)間請勿重復(fù)提交。');}//....//這里進(jìn)行相關(guān)邏輯return $this->ok(true);} catch (\Exception $e) {DB::rollBack();return $this->error($e->getMessage()); } finally {//執(zhí)行完成,進(jìn)行解鎖if ($isLocked) {Cache::lock($lock_key)->release();}}總結(jié)
以上是生活随笔為你收集整理的laravel框架中Cache缓存类中的原子锁的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端开发的角色分配
- 下一篇: suma++[代碼分析一]: 主入口vi