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. Silverlight:正式进入2.0
  2. ScrollView反弹效果
  3. oracle 一行转多行,oracle 一行变多行
  4. 【Qt】Visual Studio编译Qt项目报Qt Version错误
  5. 十年前的网易,新浪,维基百科,百度百科在手机上的打开效果
  6. 解决 idea Method threw ‘java.lang.NoClassDefFoundError‘ exception. Cannot evaluate xxx toString 问题
  7. 教师节送什么老师最开心?程序员三招解决家长送礼难题!
  8. vscode Java 11 or more recent is required to run. Please download and install a recent JDK
  9. JAVA设计模式初探之桥接模式
  10. JavaScript实现AES算法加密和解密
  11. 微猫恋爱撩妹术V2 4.1.0-多开版
  12. PHP_CodeSniffer的下载和使用
  13. 驱动数字签名 WIN7 WIN10 32位/64位
  14. bib config_配置config.bib的注意事项以及错误分析——自己都要顶!
  15. 巧吃支付宝新年红包,再也不用担心钱花不出去了(售货机里面的饮料售空也没事哦)
  16. 计算机打印机共享失败,打印机共享失败终极解决办法
  17. Several anatomical structure pics 一些大脑解剖结构图
  18. C# 静态变量会被gc回收么?
  19. RocketMQ-01
  20. 服务器cdm系统,CDM集群网站管理系统

热门文章

  1. ajax empty,jQuery empty仅在AJAX调用后的第二次单击时起作用
  2. 信息系统项目管理师论文怎么准备?49分论文备考经验
  3. 信息系统项目管理师-第二三章:信息系统项目管理基础与立项管理3
  4. 软件项目管理0711:团队成员怕担责任
  5. 《系统集成项目管理工程师》必背100个知识点-03项目管理过程组
  6. CentOS7中多台服务器配置SSH免密钥登录
  7. Mysql在离线安装时提示:error: Found option without preceding group in config file
  8. Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
  9. 若依管理系统导出Excel时添加没有的列和关联码表显示中文进行导出
  10. VSCode刚安装后可以安装这些插件提高开发效率