首页
关于叶子
Search
1
Win10突然出现不能连接共享打印机一例
310,112 阅读
2
[经验存档] 微星(MSI)B150M-Pro-VD Plus安装系统蓝屏一例
181,665 阅读
3
Laravel“高并发”导致数据“统计”异常一例
71,226 阅读
4
[iOS|Xcode]iOS-App自定义启动页制作(uniapp适用)
52,064 阅读
5
[Windows]查看连接过的WIFI密码
47,949 阅读
代码
分享
琐事
MySQL
数码
前端
MacOS
软件
Windows
PHP
GoLang学习
登录
Search
标签搜索
Laravel
PHP
Windows
Laravel-Admin
Vue
uniapp
CSS
前端
chartjs
HTML
微信
小程序
web
MacOS
App
iOS
工具
Golang
微服务
高并发
Yesr00
累计撰写
64
篇文章
累计收到
7
条评论
首页
栏目
代码
分享
琐事
MySQL
数码
前端
MacOS
软件
Windows
PHP
GoLang学习
页面
关于叶子
搜索到
1
篇与
的结果
2024-09-10
Laravel“高并发”导致数据“统计”异常一例
最近在用Laravel写一个接口,大致逻辑如下:用户请求接口,校验用户传参,取数据库数据,数据处理,用户请求数据次数+1,用户剩余请求次数数据-1,返回数据。最近呢,有用户并发比较高,我在校验完数据后拉取数据库用户数据:$check = User::query()->where('id',$id)->first();......中间省略数据处理$remaining_times = $check->remaining_times-1; $total_times = $check->total_times+1; $check->update(['remaining_times'=>$remaining_times,'total_times'=>$total_times]); return response()->json([......]);根据Log获知,有好几条查询 $remaining_times 和 $total_times 在进行加减以后依然维持原数据。 初步判定为并发导致。当时考虑过用事务处理,悲观锁,乐观锁。 但是出于更方便的处理,最后使用 increment() 和 decrement() 进行处理。事情暂定为这样再观察。谨以此做记录,如果有更好的方法后续再更新或者欢迎大佬们评论讨论。
2024年09月10日
71,226 阅读
0 评论
0 点赞