您现在的位置是:首页> 编程文章 个人博客模板
关于 Laravel 数据库查询锁必须要知道的知识点
无痕小Q个人博客
2020-02-28 00:21:11【
主页】
1681人已围观
简介关于 Laravel 数据库查询锁必须要知道的知识点
Mysql 锁的类型
1 共享锁
* 查询数据 会阻塞 等待没有任何人占用的时候再返回
* 更新数据 会阻塞 等待没有任何人占用的时候再返回
DB::table('users')->where('id', 100)->lockForUpdate()->first();
2 悲观锁
* 查询数据 正常查询返回
* 更新数据 会阻塞 等待上一个锁更新执行完毕后再更新
DB::table('users')->where('id', 100)->sharedLock()->first();
如果我直接使用锁不使用事务能正常逻辑吗?
正确
DB::transaction(function() {
$user = DB::table('users')->where('id', 100)->lockForUpdate()->first();
$user->nick_name = "老王";
$user->save();
});
错误
$user = DB::table('users')->where('id', 100)->lockForUpdate()->first();
$user->nick_name = "老王";
$user->save();
阅读量! (1681)
点击排行
相遇就是缘分,相处就是续缘,相知就是惜缘。爱的路上,没有早晚,也没有长短,只有是否珍惜。惊鸿一瞥的回眸,让心从此跟你走,无论朝朝暮暮,寒风酷暑;莞尔一笑的笑颜,让爱从此有了归属,无论人情冷暖,是风是雨
网站公告
- 欢迎来到我的博客
1:欢迎来到我的博客
2:博客免费api接口现已上线
3:博客会定期更新文章
4:欢迎大家来捧场
站点信息
秋日硕果累累,却是多事之秋,任凭残存记忆悠悠回荡在脑海,不原再去想那朦胧情感过后的伤感。
- 建站时间:2019-8-30
- 网站程序:php,laravel-swoole框架
- 今日流量:221(10分钟统计一次)
- 本月流量:24454
- 浏览总量:550637
- 统计方式:中间件,redis消息队列,定时任务