node.js下访问mysql注意事项

本文仅针对 node-mysql 模块。

  • Connection 对象为一个到mysql的连接,在其上的query是串行进行的。

    由于mysql协议类似http是串行的,在一个mysql连接上的多个query必须依次进行。

    node-mysql 的 Connection对象上同时发起的多个query会队列化,

    处理完一个query再进行下一query的处理,传递给回调函数的query结果不会错乱。

    在有一定访问量的服务中应该总是使用 连接池

  • 处理Connection对象的重连。

    mysql连接空闲一段时间后(默认8小时)会自动关闭,

    可以在Connection对象的 error 事件中检测后连接断开时进行重连。

    使用 连接池 不会有问题,连接断开后会默认从连接池中剔除。