1.选择缓存的实现 我们一般选择轻量级的EHCache,在hibernate.cft.xml里面的<session-factory>里面配置如下

  1. <!--选择缓存实现-->
  2. <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
  3. <!--开启使用二级缓存-->
  4. <property name="hibernate.cache.use_second_level_cache">true</property>

或者已经把hibernate整合到spring中去的,在spring的配置文件applicatioContext.xml中配置如下

  1. <property name="hibernateProperties">
  2. <props>
  3. <!--此处用来定义hibernate的SessionFactory的属性:
  4. 不同数据库连接,启动时选择create,update,create-drop-->
  5. <prop key="hibernate.dialect">
  6. org.hibernate.dialect.MySQL5Dialect
  7. </prop>
  8. <prop key="hibernate.hbm2ddl.auto">update</prop>
  9. <prop key="hibernate.cache.provider_class">
  10. org.hibernate.cache.EhCacheProvider
  11. </prop>
  12. <!-- 开启使用二级缓存 -->
  13. <prop key="hibernate.cache.use_second_level_cache">true</prop>
  14. <!-- 使用查询缓存 -->
  15. <prop key="hibernate.cache.use_query_cache">true</prop>
  16. </props>
  17. </property>

2,选择在相应的映射文件中或者说在对相应的表进行操作时使用二级缓存并指定缓存的策略,例如指定缓存策略为   read-write;

  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  5. <hibernate-mapping package="com.bbs.entity">
  6. <class name="User">
  7. <cache usage="read-write"/>
  8. <id name="user_id">
  9. <generator class="identity"></generator>
  10. </id>
  11. <property name="user_name"></property>
  12. <property name="user_password"></property>
  13. <property name="user_mailbox"></property>
  14. <property name="user_p_w_picpath"></property>
  15. <property name="user_register_date"></property>
  16. <property name="user_articles"></property>
  17. </class>
  18. </hibernate-mapping>
3,在类路径下面进行EHCache的配置,建立ehchache.xml配置缓存的参数。
  1. <ehcache>
  2. <diskStore path="java.io.tmpdir" />
  3. <defaultCache maxElementsInMemory="10000" eternal="false"
  4. timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"
  5. diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
  6. memoryStoreEvictionPolicy="LRU" />
  7. </ehcache>

4.别忘了加相应的包:spring-framework-2.5.6\lib\ehcache\ehcache-1.5.0.jar 还有依赖包spring-framework-2.5.6\lib\concurrent\backport-util-concurrent.jar。

配置完成了,不过我的数据库没设计好,昨天晚上一直是“too many connections”或者直接“out of memory”,现在考虑是用二级缓存,这种情况很少出现,不过提升的不是很高。

转载于:https://blog.51cto.com/movedo/454064

Hibernate+Spring整合使用二级缓存相关推荐

  1. Struts2+Hibernate+Spring 整合示例

    转自:https://blog.csdn.net/tkd03072010/article/details/7468769 Struts2+Hibernate+Spring 整合示例 Spring整合S ...

  2. mybatis和hibernate的一级、二级缓存

    MyBatis一级缓存: hibernate一级缓存: 基本差不多 HashMap本地缓存,作用域为session,session级别的缓存,通过get,update可以将对象放到一级缓存中,当 Se ...

  3. Hibernate学习笔记 | 解析二级缓存

    缓存 计算机领域非常通用的概念,它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能,缓存中的数据是数据存储源中 ...

  4. Hibernate 性能优化之二级缓存

    二级缓存是一个共享缓存,在二级缓存中存放的数据是共享数据 特性      修改不能特别频繁      数据可以公开 二级缓存在sessionFactory中,因为sessionFactory本身是线程 ...

  5. Spring整合Redis作为缓存

    2019独角兽企业重金招聘Python工程师标准>>> 采用Redis作为Web系统的缓存.用Spring的Cache整合Redis. 一.关于redis的相关xml文件的写法 &l ...

  6. schema类SpringMVC+Hibernate+Spring整合(二)

    这段时间笔者几篇文章介绍了改schema类的文章. 关联文章的地址 这篇接着上篇,把没贴完的代码写完,上篇主要实现了一些公共配置和界面的东西,这篇把后台的代码实现. 首先是web包下属于的contro ...

  7. Struts2 Hibernate Spring 整合的基本流程和步骤及其相关配置细节

    配置Hibernate环境 1. 把Hibernate的相关jar包复制到lib目录下: ① HIBERNATE_HOME/lib 下的相关的依赖的第三方包 ② HIBERNATE_HOME/hibe ...

  8. ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存

    ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存 hibernate  : Hibernate是一个持久层框架,经常访问物理数据库 ...

  9. spring boot集成ehcache 2.x 用于hibernate二级缓存

    spring boot集成ehcache 2x 用于hibernate二级缓存 项目依赖 Ehcache简介 hibernate二级缓存配置 ehcache配置文件 ehcache事件监听 注解方式使 ...

最新文章

  1. OpenCV-Python绑定如何工作及如何扩展新模块到Python
  2. 使用Harry过程中FAQ(问题解答)
  3. c++:opencv的安装和配置
  4. linux mysql软件_「Linux」 - 常用软件安装-MySql
  5. 用Python递归做个多层次的文件执行
  6. 《C语言点滴》一1.5 内功修炼
  7. Message-Digest Algorithm 5
  8. 产品经验谈:B端产品需求的3个层次,你都了解吗?
  9. python模块之configparser
  10. 使用代理,调用json-server的服务接口
  11. php集中管理,PHPWind 7.5 SP2 公布 三大改良增强营运基本功能
  12. 已遭利用的Windows 0day漏洞 CVE-2020-1380分析
  13. centos6.8 配置mysql赋予mysql远程连接权限
  14. c语言统计字符串中每个字符出现的次数
  15. 【51单片机】往返流水灯代码
  16. linux 平台,Qt 使用,微软雅黑/文泉驿 字体
  17. C#简易计算器(加减乘除三角函数运算)
  18. 解决Linux无法读写U盘中的NTFS问题
  19. 我所理解的闭包是酱紫的
  20. 【面试宝典】Mysql面试题大全

热门文章

  1. vs中如和根据项目生成类图_迁移WPF项目到.NET Core
  2. opencv国际象棋_国际象棋是的
  3. Redirecting to /bin/systemctl restart sshd.service
  4. 笔记-信息系统开发基础-uml-uml类图关系
  5. Python自动解压各种压缩文件
  6. AndroidStudio更新时报错:Connection Error,Temp directory inside installation
  7. Winform中实现仿XP系统的任务栏菜单效果(附代码下载)
  8. 50本.NTE、C#相关技术书籍免费下载
  9. 初次使用Shiro进行加密密码的算法实例
  10. 数据库之关系模型的组成,特点以及完整性约束