频道栏目
首页 > 资讯 > Sybase > 正文

号称性能最好的JDBC连接池:HikariCP

15-06-10        来源:[db:作者]  
收藏   我要投稿

HikariCP号称是现在性能最好的JDBC连接池组件,具体的性能到底如何,我也没有仔细的测试过,不过从它现在的发展来看,其可能确实如它宣传的那样其性能高过目前所有的连接池组件。之前对连接池的记忆一直都是C3P0、DBCP、BoneCP,这三者中BoneCP的性能是最好的,C3P0的性能在现在来说确实是非常差的了,好像C3P0很久都没有更新了,所以我们应该杜绝在项目中使用C3P0,至于是否要使用HikariCP,我觉得可以尝试。HikariCP毕竟是才出来不久,其性能到底如何,也需要实践的检验,若是担心新东西有坑,我推荐使用BoneCP。Spring现在也集成了HikariCP,所以我觉得很有尝试它的必要。前不久我在项目中使用了HikariCP,也没出现什么问题,运行比较稳定。

HikariCP在github上的地址:https://github.com/brettwooldridge/HikariCP

下面是2张HikariCP和其他连接池组件的性能比较图片:


在其网站上可以看到详细的使用文档,下面是常规的使用方法:

import java.sql.Connection;
import java.sql.SQLException;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

/**
 * HikariCP使用
 * @author CoolKing
 *
 */
public class DataSource {
	
	private HikariDataSource ds;
	
	/**
	 * 初始化连接池
	 * @param minimum
	 * @param Maximum
	 */
	public void init(int minimum,int Maximum){
		//连接池配置
		HikariConfig config = new HikariConfig();
		config.setDriverClassName("com.mysql.jdbc.Driver");
		config.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/testdb?user=root&password=123456&useUnicode=true&characterEncoding=utf8");
		config.addDataSourceProperty("cachePrepStmts", true);
		config.addDataSourceProperty("prepStmtCacheSize", 500);
		config.addDataSourceProperty("prepStmtCacheSqlLimit", 2048);
		config.setConnectionTestQuery("SELECT 1");
		config.setAutoCommit(true);
		//池中最小空闲链接数量
		config.setMinimumIdle(minimum);
		//池中最大链接数量
		config.setMaximumPoolSize(Maximum);
		
		ds = new HikariDataSource(config);
		
	}
	
	/**
	 * 销毁连接池
	 */
	public void shutdown(){
		ds.shutdown();
	}
	
	/**
	 * 从连接池中获取链接
	 * @return
	 */
	public Connection getConnection(){
		try {
			return ds.getConnection();
		} catch (SQLException e) {
			e.printStackTrace();
			ds.resumePool();
			return null;
		}
	}
	
	public static void main(String[] args) throws SQLException {
		DataSource ds = new DataSource();
		ds.init(10, 50);
		Connection conn = ds.getConnection();
		//......
		//最后关闭链接
		conn.close();
	}
	
}
另外,HikariCP需要依赖下面几个jar

slf4j-api-1.7.12.jar

metrics-core-3.0.2.jar

metrics-healthchecks-3.1.2.jar

javassist-3.19.0-GA.jar

HikariCP-2.3.5.jar

若使用MySQL则还需要mysql-connector-java-5.0.8-bin.jar

以上使用HikariCP需要的jar可以到http://download.csdn.net/detail/abc_key/8790543这个地址下载

相关TAG标签
上一篇:怎样设置范围使数据透视表能自适应数据源记录的变化
下一篇:Github上的star和fork是什么
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站