安全地保持MySQL连接的活动状态

Jos*_*ion 6 mysql connection-timeout

我正在开发一个连接到MySQL服务器的nod​​e.js应用程序。但是,以下内容可能不是特定于node.js的。

当前,我的代码在应用程序启动时初始化一个MySQL连接,然后在每次需要查询时都使用该连接。

我的方法面临的问题是,连接会在一段时间后趋于关闭。我不确定该时间段有多长,但似乎至少需要几个小时。我也不确定是否是由于不活动引起的。

无论如何,我想知道哪种方法可以更好地长期管理MySQL连接。在可能的方法中,我考虑了:

  • 只需在每个查询之前检查一下连接是否仍然有效。如果不是,请在执行查询之前重新连接。

  • 池化MySQL连接。对于一个相当小的应用程序,这会过分杀伤力吗?

  • 定期(每个小时左右)执行查询,以防由于不活动而发生查询。但是,这不能解决由于非活动导致的可能情况。

  • 查询之前/之后连接和断开连接。不好的主意,因为涉及的开销。

如您所想,我倾向于使用前两个选项之一。哪个选项最可靠,最有效?

Bil*_*win 6

Node.js 的最佳实践似乎是使用连接池。请参阅需要持久连接的 Node.js MySQL

空闲连接的默认超时为 28800 秒,并且可以使用wait_timeout变量进行配置。见http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout

  • @farzi_engineer,滚动到本页顶部。查看带有“搜索...”字样的字段 在该字段中键入 **django 连接池**。按回车。出现了许多关于 Django 和连接池的过去问题。阅读它们。 (2认同)