Hibernate+EhCache初级应用

简介:
1.EhCache是什么
    EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力;

2.EhCache的使用注意点
    当用Hibernate的方式修改表数据(save,update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于数据经常修改的表来说,可能就失去缓存的意义了(不能减轻数据库压力);
3.EhCache使用的场合
    3.1比较少更新表数据
        EhCache一般要使用在比较少执行write操作的表(包括update,insert,delete等)[Hibernate的二级缓存也都是这样];
    3.2对并发要求不是很严格的情况
        两台机子中的缓存是不能实时同步的;
4.在项目做的实现
    4.1在工程的src目录下添加ehcache.xml文件,内容如下:
        
<? xml version="1.0" encoding="UTF-8" ?>
        
< ehcache >     
            
< diskStore  path ="java.io.tmpdir"   />
          
< defaultCache  maxElementsInMemory ="5" <!--缓存可以存储的总记录量-- >
            eternal="false"
<!-- 缓存是否永远不销毁 -->
            overflowToDisk="true"
<!-- 当缓存中的数据达到最大值时,是否把缓存数据写入磁盘 -->
            timeToIdleSeconds="15"
<!-- 当缓存闲置时间超过该值,则缓存自动销毁 -->
                timeToLiveSeconds="120"
<!-- 缓存创建之后,到达该缓存自动销毁 -->
          />
        
</ ehcache >
    4.2在Hibernate.cfg.xml中的mapping标签上面加以下内容:
        
< property  name ="show_sql" > true </ property >
        
< property  name ="hibernate.cache.provider_class" > org.hibernate.cache.EhCacheProvider </ property >
        
< property  name ="hibernate.cache.use_query_cache" > true </ property >
    4.3在要缓存的bean的hbm.xml文件中的class标签下加入以下内容:
       
< cache  usage ="read-only"   /> <!-- 也可读写 -->
    4.4创建DAO,内容如下:
        Session s = HibernateSessionFactory.getSession();
        Criteria c = s.createCriteria(Xyz.class);
        c.setCacheable(true);//这句必须要有
        System.out.println("第一次读取");
        List l = c.list();
        System.out.println(l.size());
        HibernateSessionFactory.closeSession();
        s = HibernateSessionFactory.getSession();
        c = s.createCriteria(Xyz.class);
        c.setCacheable(true);//这句必须要有
        System.out.println("第二次读取");
        l = c.list();
        System.out.println(l.size());
        HibernateSessionFactory.closeSession();
   4.5这时你会看到打印出来的信息为(表示第二次并没有去读库):
        第一次读取
        Hibernate: *******
        13
        第二次读取

        13

本文转自博客园沉睡森林@漂在北京的博客,原文链接:Hibernate+EhCache初级应用,如需转载请自行联系原博主。

目录
相关文章
|
开发框架 缓存 安全
Hibernate Validator的应用实践
Hibernate Validation目前最新的稳定版本是:5.1.3。 下载地址 官网地址 官方英文使用手册 官方中文使用手册地址 (中文版目前最新的是4.3版本) 具体用法可以参考官方文档。
183 0
|
SQL 存储 数据可视化
Java Web之Hibernate的高级应用(数据库实体关联之间的映射规则、实体继承关系映射、Hibernate查询语言)
Java Web之Hibernate的高级应用(数据库实体关联之间的映射规则、实体继承关系映射、Hibernate查询语言)
154 0
Java Web之Hibernate的高级应用(数据库实体关联之间的映射规则、实体继承关系映射、Hibernate查询语言)
|
Java 数据库连接 数据库
应用hibernate中的hql语句对日期的操作总结
------------------------------------------------------------------------这篇文章是我在进行hibernate查询时由于百度搜索很杂,就亲手编写并侧成功后写的 数据库中日期数据保存类型为Date Users是数据库表明,date是数据 1.
1392 0
|
SQL 缓存 Java