首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MySQL在nodeJs服务器上实现多用户的安全读写操作,避免出现不一致的状态?

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

Stack Overflow用户
提问于 2019-04-03 00:28:24
回答 1查看 209关注 0票数 0

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

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

EN

回答 1

Stack Overflow用户

发布于 2019-04-03 00:47:16

数据库一致性是关于关系型数据库管理系统如何实现Atomicity, Consistency, Isolation, and Duration (ACID).的,它与node.js程序中的并发性是两码事。

如果要在数据库表的行中增加一个值,则可以对数据库使用此查询。

代码语言:javascript
复制
 UPDATE statistics SET counter = counter + 1 WHERE item = 'someItemId';

您需要在node.js MySQL应用程序接口中通过适当的方法调用发出查询。

即使许多不同的node.js (或Java、php或其他)程序同时在数据库上运行这种查询,结果仍然是一致的。关系型数据库管理系统隐式地将这种查询封装在一个transaction中,确保它在启动后运行到完成。这就是RDBMS一致性的全部内容。

对ACID的详细解释远远超出了堆栈溢出答案的范围。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55479537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档