高并发导致的数据错误
通常出现于多连接,假设当前用户余额为100。
A逻辑从数据库取值得到100,扣取50,得到50,进行数据库保存。最终数据库=50。
在同一瞬间内,A逻辑未保存数据库前,B逻辑从数据库取得余额100,扣去30,得到70,进行数据库保存。最终数据库=70。
这样问题就发生了。 本来应该是100-50-30=20; 现在变成了100-50=...
kxjhwbb
7年前 (2018-01-19) 7496℃ 0评论
1喜欢
官方的说明实在太随意,大概是因为这个功能使用的人太少吧。所以也懒得去维护和解释。
官方文档:https://www.kancloud.cn/manual/thinkphp/1783
要点:
1、精简版核心必须加上ThinkPHP/Library/Think/Model 文件夹,可以在完整版里拉过去;
2、普通的M()方法除非自己改代码否则无法使用乐观锁,必须...
kxjhwbb
7年前 (2018-01-19) 6002℃ 0评论
1喜欢