缘起:在高并发的分布式环境下,对于数据的查询与修改容易引发一致性问题,本文将分享一种非常简单但有效的优化方法。
一、业务场景
业务场景为,购买商品的过程要对余额进行查询与修改,大致的业务流程如下:
(1)从数据库查询用户现有余额 SELECT money FROM t_yue WHERE uid=$uid,不妨设查询出来的$old_money=100元

(2)业务层实施业务逻辑,比如购买一个80元的商品,并且打九折
if($old_money> 80*0.9) $new_money=$old_money-80*0.9=28

(3)将数据库中的余额进行修改 UPDAtE t_yue SET money=$new_money WHERE uid=$uid

在并发量低的情况下,这个流程没有任何问题,原有金额100元,购买了80元的九折商品(72
继续阅读与本文标签相同的文章
上一篇 :
数据库软件架构设计些什么
下一篇 :
十分钟学perl够用(客服MM都懂了)
-
缓存与数据库一致性保证
2026-05-20栏目: 教程
-
缓存架构设计细节二三事
2026-05-20栏目: 教程
-
30秒懂SQL中的join(2幅图+30秒)
2026-05-20栏目: 教程
-
一分钟了解mongoDB(HR都懂了)
2026-05-20栏目: 教程
-
十分钟学perl够用(客服MM都懂了)
2026-05-20栏目: 教程
