高并发情况下如何保证金额加减的一致性

2021-12-13 22:55:50 +08:00
 xpyusrs
因为要做流水, 所以得先查询余额再做加减
语言 golang, 数据库框架 GORM
4453 次点击
所在节点    Go 编程语言
22 条回复
MoYi123
2021-12-14 18:01:00 +08:00
update money_table set money = money + 100 where id = 1 returning money - 100;
用 PostgreSQL 的 returning,可以一句 sql 完成查询和修改

Mysql 也有类似功能,不过比较麻烦.
akriafly01
2022-01-16 07:44:02 +08:00
乐观锁 ➕ 自旋重试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/821980

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX