我们目前正在尝试找出如何正确快速更新用户余额的方法,但是在队列系统中,对于交易系统,用户可能会每隔几毫秒或多次更新一次,因此我们对此有一些疑问同时具有多个更新,您不希望它同时更新两个,因为它需要先更新为1,然后再更新为另一个。
1- mysql队列是否每行都已更新,所以说我要进行3次更新,它将对表上的该行按1进行处理,还是一次执行所有操作。因此,例如说我有50欧元,其中有3个更新分别来自25、25和25,则应该为125,而不是说如果同时更新全部则为75。
2-从数据库中提取数据时,但同时更新是将请求排队,因此您将从已更新的数据库中获取最新数据,因此要提取的数据不是50或75或100,而是125吗?
3-直接更新表示查询中的当前余额+ 25会更有效,然后调用以拉出当前余额,然后在本地添加额外的25,然后推送到数据库,因此与其进行2次调用(而不是2次调用),但是mysql必须计算额外的25吗?并可能导致诸如拉取数据或添加新数据的延迟之类的问题。
4-对于金融交易系统,您会建议采用哪种方式来更新多个用户的帐户余额,以及每笔交易都增加了管理员余额所需的费用,但实际上是按队列而不是一次全部添加?
任何有关此的建议都很好,因为这是一个副项目,并试图学习创建可扩展的应用程序,该应用程序通过我的交易引擎是安全的,并且很难在互联网上找到任何特定信息。