文件名称:hibernate基础教程
文件大小:568KB
文件格式:XLS
更新时间:2014-04-11 08:50:36
hibernate;教程;基础;
Hibernate中的缓存 Hibernate中使用了一级缓存和二级缓存的机制来提高程序的性能. 一 为什么要使用缓存? 缓存是一块存储区域,可能是一块内存,也可能是一块硬盘.缓存能起到缓冲的作用,把程序经常使用的信息存放到缓存中,当需要的时候先到缓存中找 如果没有,再到数据库中去加载.从缓存中读取信息的速度会远远大于从数据库中读取信息的速度. 如图: (1) 没有缓存的情况: 写 读 (2) 有缓存的情况: 写 写 读 读 演示: 1、get()方法 2、load()方法 3、批量存储:session.flush()和session.clear() 二 Hibernate中的二级缓存结构 在Hibernate中使用两极缓存结构,第一级缓存是Session级别的缓存,Session级别的缓存是由Hibernate管理的,一般情况下无需进行干预.第二级缓存是 SessionFactory级别的缓存,SessionFactory级的缓存可以进行配置和更改. 一级缓存也就是Session缓存随着Session的关闭而消亡.二级缓存伴随着整个应用,也是就是伴随着SessionFactory消亡而消亡. Hibernate的缓存机构图如下: 三 Hibernate中的第二级缓存 Hibernate的第二级缓存是SessionFactory级别的缓存,它被所有的Session共享. Hibernate的第二级缓存是一个插件,下面是几种常用的缓存插件: EhCache SwarmCache JBossCache等. 其中,EhCache是Hibernate的默认的插件. 四 EhCache的使用 第一步:修改Hibernate配置文件,启用Hibernate的第二级缓存.在配置文件中加入EhCache缓存插件的实现类. 第二步:拷贝ehcache.xml文件到类路径下(位于Hibernate3的etc文件夹下) 第三步:对需要进行缓存的持久化对象进行配置. 第四步:编写测试类,体验Hibernate的二级缓存. 第五步:二级缓存的数据并发策略. 当我们使用二级缓存的时候,如果并发策略为:read-only,那么只能对持久化对象进行查询,不能对其进行修改.这是因为,Hibernate的并发策略 所决定的. 当我们只对数据进行查询的时候,可以将并发策略设置为:read-only. 当我们要对数据进行修改的时候,可以将并发策略设置为:read-write. 第六步:设置EhCache的配置文件. 数据库 二级缓存 s 记录 PO po s1 PO 数据库 10 100