【问题标题】:Is it better to hold database connections?保持数据库连接更好吗?
【发布时间】:2013-04-15 08:47:28
【问题描述】:

我目前正在为 bukkit 开发插件,其中很多都需要数据库连接。现在我在考虑是否只有一个插件来处理所有插件的连接是否会更好。

这背后的问题是,即使在几分钟内没有任何查询(这可能会发生),保持连接是否良好。否则我需要为每个查询建立一个新连接?

【问题讨论】:

标签: mysql database


【解决方案1】:

最好有一个类/插件来处理数据库,但连接状态不应该一直打开,确保连接只在查询所用的时间内打开。

【讨论】:

  • 但我认为如果我阻止一次又一次地打开连接,我可以节省时间和资源。例如,如果一个插件应该每 5 分钟执行一次语句,我应该每次都重新打开连接吗?如果有,为什么?
  • 是的,您应该每次都重新打开连接,实际上连接池会处理它,并且占用的资源比您想象的要少。当您的应用程序将增长并且没有。并发用户增长的时候将会没有剩余资源来创建新连接以避免这种总是关闭连接。当您重新打开连接时,它会从池中获取,并且不需要创建新连接。
  • 好的,如果我使用像 boneCP 这样的连接池,我可以将其设为静态以共享它吗?
【解决方案2】:

许多应用程序使用connection pools 来获得许多可随时用于运行查询的连接。它减少了数据库驱动程序必须执行的协议重新协商的次数。这对于需要快速访问底层数据但请求之间的停机时间较长的应用程序特别有用。网上商店等电子商务应用就是一个很好的例子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 2016-04-13
    • 2011-03-29
    • 2010-11-30
    相关资源
    最近更新 更多