日期:2014-05-16  浏览次数:20285 次

Node.js操作Mysql事务问题

node.js是单线程程序,这和Java,C#等传统语言多线程操作数据的情况有所不同。

传统的多线程程序,我们必须考虑数据库的事务问题,否则会造成数据不一致的问题以及其他问题。

而在Node.js中,目前我们处理数据库最简单的方式整个程序共用一个数据库连接。客户端的每次服务请求都通过该连接处理,无需关心事物,无需关闭数据库连接。

不过上述情况只适用于规模比较小的项目。对于访问量大,数据库访问频繁的系统单进程单连接无法应对。

对于这个问题的解决方案,参见node-mysql-queues,以及下面的讨论。