为什么需要连接池?
1、数据库连接是非常宝贵的系统资源,连接一次数据库,需要很多步骤:建立物理通道(例如套接字或命名管道),与服务器进行初次握手,分析连接字符串信息,由服务器对连接进行身份验证,运行检查以便在当前事务中登记等等,会花费比较多的时间。
2、数据库连接池是为了更有效地利用数据库连接的最重要措施。连接池就是这样一个容器:它存放了一定数量的与数据库服务器的物理连接。
连接池原理
连接池的基本原理是:先初始化一定的数据库连接对象,并且把这些连接保存在连接池中。当程序需要访问数据库的时候,从连接池中取出一个连接,数据库操作结束后,再把这个用完的连接重新放回连接池。
1、连接 池是具有类别区分 的 。不同进程、应用程序域以及连接字符串有不同的连接池。
2、分配连接。
? 如果池中有空闲连接可用,返回该连接。
? 如果池中连接都已用完,创建一个新连接添加到池中。
? 如果池中连接已达到最大连接数,请求进入等待队列直到有空闲连接可用。
3、 回收 使用完的连接 。
? 使 用完一条连接时,应当及时关闭或释放 连接 。
? 应用程序 关闭连接 时不会关闭物理连接,而是回到连接池中。
4、 移 除无效 连接 。如果连接长时间空闲,或检测到与服务器的连接已断开,连接池管理器会将该连接从池中移除。