【问题标题】:Design pattern: Object pool of connections设计模式:连接对象池
【发布时间】:2015-04-06 18:05:54
【问题描述】:

最近我开始研究有关对象池设计模式的更多信息,但遇到了一些我无法找到答案的问题。

对象池模式的想法是通过重用资源来节省昂贵的资源。例如,与数据库的连接是一种非常昂贵的资源。因此我想将它添加到“池”中。

我一直被教导要尽可能少地保持连接打开。 我可能会弄错这一切,但在我看来,创建一个新连接并使其长时间保持活动(在池中)只是浪费资源。连接可能不会被多次创建,但它会一直处于打开状态。

我很乐意得到解释。

【问题讨论】:

  • 如果在任意时间内不使用池化资源,您可以关闭它们,这不是很明显吗?没有人说,你必须让它们永远活着,而是在随时间推移的资源成本/对象创建成本之间找到最佳权衡。

标签: java design-patterns dbconnection object-pooling objectpool


【解决方案1】:

一方面,由于创建时间长,创建新连接可能会很糟糕

完全重用的另一个极端也可能是有问题的,因为你持有资源很长时间。

对象池模式允许您在一段时间后配置此连接和(例如)超时连接。作为每个面向性能的解决方案,它需要针对特定​​情况进行一些调整。此模式是您应该保留此配置的地方。

【讨论】:

    猜你喜欢
    • 2018-10-01
    • 1970-01-01
    • 2018-08-17
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多