gpt4 book ai didi

mysql - 如何使用MySQL实现nodeJs服务器上多个用户的安全读写操作,避免不一致状态?

转载 作者:行者123 更新时间:2023-11-29 09:47:04 25 4
gpt4 key购买 nike

我知道nodeJs架构是基于单线程的,并且是事件驱动的模型。事实上,直接在 NodeJs 应用程序上,我们不必关心同一变量的并发写入和读取(如果我错了请告诉我)。但我现在想知道与 NodeJs 应用程序交换的数据库行(MySQL)上的并发访问怎么样。那么我如何在我的应用程序上实现一致性状态。PS:一些代码示例会很好。谢谢

如何在使用MySQL作为数据库的nodeJs服务器上实现多个用户的安全读写操作(例如基本递增值)以避免不一致状态?

最佳答案

数据库一致性是关于 RDBMS 如何实现 Atomicity, Consistency, Isolation, and Duration (ACID).这与 Node.js 程序中的并发不同。

如果您想增加数据库表中某行的值,可以使用此查询数据库。

 UPDATE statistics SET counter = counter + 1 WHERE item = 'someItemId';

您需要通过 Node.js MySQL API 中的适当方法调用发出查询。

即使许多不同的node.js(或Java、php或其他)程序同时在数据库上运行这种查询,结果仍然会是一致的。 RDBMS 隐式地将此类查询包装在 transaction 中。 ,确保它一旦启动就运行完成。这就是 RDBMS 一致性的意义所在。

ACID 的详细解释远远超出了 Stack Overflow 答案的范围。

关于mysql - 如何使用MySQL实现nodeJs服务器上多个用户的安全读写操作,避免不一致状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55479537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com