什么是数据库池?

我只是想知道数据库连接池的概念以及如何实现。

回答:

数据库 连接 池是一种用于保持数据库连接打开以便其他人可以重用的方法。

通常,打开数据库连接是一项昂贵的操作,尤其是在数据库是远程的情况下。您必须打开网络会话,进行身份验证,检查授权等。池化使连接保持活动状态,以便在以后请求连接时,优先使用活动的连接之一,而不必创建另一个连接。

请参阅下图,了解以下几段:

  +---------+

| |

| Clients |

+---------+ |

| |-+ (1) +------+ (3) +----------+

| Clients | ===#===> | Open | =======> | RealOpen |

| | | +------+ +----------+

+---------+ | ^

| | (2)

| /------\

| | Pool |

| \------/

(4) | ^

| | (5)

| +-------+ (6) +-----------+

#===> | Close | ======> | RealClose |

+-------+ +-----------+

以最简单的形式,它只是一个类似于开放式API调用的API调用(1),类似于“真实”调用。这首先检查池中是否有合适的连接(2),如果有可用的连接,则将其提供给客户端。否则,将创建一个新的(3)。

“合适的连接”仅仅是一个已经 拥有 访问使用正确的信息(如数据库实例,凭证,以及其他可能的事情)数据库。

类似地,有一个关闭API调用(4),它实际上并未调用 真正的 关闭连接,而是将连接放入池(5)中供以后使用。在某个时候,池中的连接可能 实际上

已关闭(6)。

这是一个非常简单的解释。实际的实现可能能够处理与多个服务器和多个用户帐户的连接,它们可能会预先分配一些连接基线,以便立即进行准备,并且在使用模式趋于平静时,它们实际上可能会关闭旧连接。

以上是 什么是数据库池? 的全部内容, 来源链接: utcz.com/qa/420221.html

回到顶部