首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hibernate复习之Hibernate 高级配置

今日目录:

1、配置数据库连接池

2、配置日志框架 Log4J

3、配置 Hibernate 二级缓存

一、配置数据库连接池

反问数据库,需要不断的创建和释放连接,假如访问量大的话,效率比较低级,服务器消耗大;使用数据库连接池,我们可以根据实际项目的情况,定义连接池的连接个数,从而可以实现从连接池获取连接,用户放回到连接池。从而有效的提高的系统的执行效率;Hibernate 自带的连接池不是很好,有 bug;

推荐使用 C3P0,proxool等;

C3P0jar包:

二、配置日志框架 Log4J

Log4J作为一个开源的优秀日志框架,被广泛使用,Hibernate4 必须包中直接支持 Log4J 日志框架;我们只需要引入 Log4j jar 包,即可使用;

Log4Jjar包:

三、配置Hibernate 二级缓存

1,缓存的概念:

缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存或者硬盘中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能。Hibernate 在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存命 中"),则就直接把命中的数据作为结果加以利用,避免了大量发送 SQL 语句到数据库查询的性能损耗。

2,Hibernate 缓存的分类:

一、Session 缓存(又称作事务缓存):Hibernate 内置的,不能卸除。

缓存范围:缓存只能被当前 Session 对象访问。缓存的生命周期依赖于 Session 的生命周期,当 Session 被关闭后,缓存也就结束生命周期。

二、SessionFactory 缓存(又称作应用缓存):使用第三方插件,可插拔。

缓存范围:缓存被应用范围内的所有 session 共享,不同的Session 可以共享。这些 session 有可能是并发访问缓存,因此必须对缓存进行更新。缓存的生命周期依赖于应用的生命周期,应用结束时,缓存也就结束了生命周期,二级缓存存在于应用程序范围。

3,二级缓存策略提供商:

提供了 HashTable 缓存,EHCache,OSCache,SwarmCache,jBossCathe2,这些缓存机制,其中 EHCache,OSCache是不能用于集群环境(Cluster Safe)的,而SwarmCache,jBoss Cathe2 是可以的。HashTable缓存主要是用来测试的,只能把对象放在内存中,EHCache,OSCache可以把对象放在内存(memory)中,也可以把对象放在硬盘(disk)上(为什么放到硬盘上?上面解释了)。

4,什么数据适合放二级缓存中:

(1)经常被访问

(2)改动不大

(3)数量有限

(4)不是很重要的数据,允许出现偶尔并发的数据。比如组织机构代码,列表信息等;

5,配置 EHCache 二级缓存;

EHCachejar包:

ehcache.xml

要用到的工具,关注公众号直接免费获取:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180731G0U0LO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券