HikariCP是当下比较火的数据库连接池,号称性能最好,可以PK当前任意数据库连接池。那么数据库连接池到底是什么?它的作用又是什么呢?
要说数据库连接池,就得从用户请求链接开始,如下图所示,用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。并且很容易造成数据库服务器内存溢出、宕机。
为了解决上述问题,使用数据库连接池技术来优化程序性能。数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。由于连接池中存储了建立数据库连接的信息,因此也有数据源的称呼。使用数据库连接池后的请求过程如下图所示,数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。后文将会详细讨论这两个参数如何更好的设置。