2025年连接池(学习笔记)

连接池(学习笔记)目录 一 什么是连接池 二 使用数据库连接池的目的 三 部分连接池介绍 一 什么是连接池 连接池是创建和管理一个连接的缓冲池的技术 这些连接准备好被任何需要它们的线程使用 常见的链接池分为 socket 链接池和数据库链接 在本次学习中主要讲数据库连接池 数据库连接池简称 dbcp

大家好,我是讯享网,很高兴认识大家。

目录

一、什么是连接池

二、使用数据库连接池的目的

三、部分连接池介绍 


一、什么是连接池

连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。常见的链接池分为socket链接池和数据库链接,在本次学习中主要讲数据库连接池

数据库连接池简称:dbcp(database connectionpool)就是保存了很多数据库连接对象的对象池。

数据库连接是一种关键的有限的昂贵资源,几乎所有应用都要用到数据库,一个数据库连接对象均对应一个物理数据库连接,每次操作都会打开一个物理连接,使用完后再关闭,也就是说会经常连接数据库打开关闭,这样经常连接会浪费大量的系统资源,和使系统性能低下,这在多用户网页的应用程序中尤为突出。

连接池的出现,很好解决了这个问题,连接池的原理就是:在程序启动前前先创建好足够多个数据库连接,并将这些连接组成一个连接池(就是指一个‘池’里放了很多半成品数据库连接对象),当我的系统需要操作数据库时,由应用程序动态地对池中的连接进行申请,使用和释放。对于多连接池中的连接数的并发请求,应该在请求队列中排队等待。并且应用程序可以根据连接池中连接的使用频率,动态地增加或减少连接池中的连接数,这些连接数都是可以在配置文件自己设置的。

二、使用数据库连接池的目的

1.尽可能多地重用消耗内存的资源,连接复用。通过建立一个数据库连接池以及一套连接使用管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。

2.提高了服务器的服务效率,能够支持更多的客户服务,提高程序运行效率

3.同时,可以通过其自身的管理机制来监视数据库连接的数量,使用情况等等

连接池部分概念

最小连接数:是连接池一直保存的最大数据库连接数,所以如果应用程序对数据库连接使用不大,将会浪费大量数据库连接资源

最大连接数:连接池能申请到的最大连接数,如果数据库连接请求超过这个数,后面的数据库连接请求将会被送入等待队列中,会影响后续数据库操作。


讯享网

空闲连接:长连接时,有一个最大保持时间,目的是在达到一定时间不工作后对资源进行回收

池化:(缓冲)在系统初始化时预先准备好资源,有请求时分配对象去使用,空闲时对此回收但不销毁,减少了对象的反复创建,销毁所话费的时间,这在高并发的情况下很吃资源。

无连接池与有连接池比较:


三、部分连接池介绍
 

在Java中开源的数据库连接池:

C3P0:是一个开放源代码的JDBC连接池

Proxool:一个Java SQL Drive驱动程序,提供了对选择其他类型的驱动程序的连接池封装

JaKarta DBCP:DBCP是一个依赖Jakartacommons-pool对象池机制的数据库连接池

DDConnectionBroker:是一个简单,轻量级的数据库连接池

DBPool:是一个高效,易配置的数据库连接池

XAPool:是一个XA数据库连接池

Primrose:是一个Java开发的数据库连接池

SmartPool:是一个连接池组件,它模仿应用服务器对象池的特性

目前spring Boot中默认支持的连接池有:dbcp,dbcp2,tomcat,hikari

数据库连接可以使用DataSource池自动进行配置

 

小讯
上一篇 2025-03-19 14:23
下一篇 2025-01-10 15:48

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/69947.html