`
syx278250658
  • 浏览: 3629 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate缓存-使用Ehcache让实体对象集合对象缓存

    博客分类:
  • J2EE
阅读更多

考虑到效率和对数据库的压力,使用缓存或者内存缓存,可以提高反应速度和减轻数据库压力。hibernate中支持的比较多,在hibernate给的文档“提升性能”章节有详细介绍:

image

hibernate支持缓存类型和介绍:

image

后面三个还支持集群,比较强大。

现在详细介绍Ehcache使用:

Ehcache所需要的jar包(配合hibernate使用):

imageimageimage加入配置文件:image

<ehcache>

    <!-- Sets the path to the directory where cache .data files are created.

         If the path is a Java System Property it is replaced by
         its value in the running VM.

         The following properties are translated:
         user.home - User's home directory
         user.dir - User's current working directory
         java.io.tmpdir - Default temp file path -->
    <diskStore path="java.io.tmpdir"/>


    <!--Default Cache configuration. These will applied to caches programmatically created through
        the CacheManager.

        The following attributes are required for defaultCache:

        maxInMemory       - Sets the maximum number of objects that will be created in memory
        eternal           - Sets whether elements are eternal. If eternal,  timeouts are ignored and the element
                            is never expired.
        timeToIdleSeconds - Sets the time to idle for an element before it expires. Is only used
                            if the element is not eternal. Idle time is now - last accessed time
        timeToLiveSeconds - Sets the time to live for an element before it expires. Is only used
                            if the element is not eternal. TTL is now - creation time
        overflowToDisk    - Sets whether elements can overflow to disk when the in-memory cache
                            has reached the maxInMemory limit.

        -->
    <defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        />

</ehcache>

 

hibernate配置:

image

如果Query要缓存要手动设置的:

image

如果某个类有集合字段,我们也想要集合字段缓存,我们需要对那个字段设置缓存属性:

image

image

这种设置对于多级菜单很是有效的!

第一次(没的使用缓存的)效果:

image

第二次(缓存)效果:

image

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    hibernate-ehcache-4.1.0.Final.jar

    hibernate-ehcache-4.1.0.Final.jar 是hibernate4.1使用缓存的jar包

    hibernate缓存ehcache用法

    这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时保存经常访问的数据,以减少对主存储器(如数据库)的...

    hibernate+ehcache

    通过在 Hibernate 配置文件中添加 Ehcache 配置,可以指定哪些实体或查询结果应该被缓存。 4. **配置 Ehcache**:在 Hibernate 的 `hibernate.cfg.xml` 文件中,需要引入 Ehcache 的配置,包括指定缓存 provider、...

    基于org.hibernate-ehcache的Ehcache缓存查询工具设计源码

    本项目为基于org.hibernate-ehcache框架设计的Ehcache缓存查询工具源码,总计包含35个文件,涵盖6个XML配置文件、6个Java源文件、6个类文件、4个IDE偏好设置文件、3个Markdown文档、2个Excel表格、2个Manifest文件...

    hibernate--4.使用hibernate的缓存-1

    然后,为了使实体类使用二级缓存,我们需要在实体类上添加`@Cacheable`注解,并可以自定义缓存策略: ```java @Entity @Cacheable(true) @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class ...

    hibernate所需的ehcache的相关jar包,一共3个jar包

    一级缓存是Hibernate Session内部的缓存,每个Session都有自己的缓存,用于存储当前Session内的实体对象。二级缓存则是SessionFactory级别的,它可以跨多个Session共享,进一步减少对数据库的访问。 Ehcache作为二...

    缓存框架-Ehcache学习笔记

    - **缓存扩展**: Ehcache 可以与其他缓存解决方案集成,如 Hibernate 的二级缓存。 ### 5. Ehcache 源码分析 深入学习 Ehcache 源码有助于理解其工作原理。主要关注以下几个关键类: - **Cache**: 实现缓存逻辑的...

    hibernate-ehcache-4.1.4.Final.zip

    【标题】"hibernate-ehcache-4.1.4.Final.zip" 提供的是Hibernate ORM框架的一个版本,其中集成了Ehcache作为二级缓存解决方案。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发人员将数据库操作转化...

    Ehcache 整合Spring 使用页面、对象缓存

    Ehcache 是一款广泛使用的开源Java缓存解决方案,它可以用于存储页面、对象和数据,以提升应用程序的性能和响应速度。Ehcache 提供了内存和磁盘存储的支持,并且包含多种淘汰策略,如LRU(Least Recently Used)、...

    Ehcache缓存

    **Ehcache缓存** Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于...

    hibernate-release-5.2.10

    6. **缓存**:Hibernate内置了二级缓存机制,可以通过配置使用如Ehcache这样的缓存提供者,提高性能。 7. **关联映射**:包括一对一(@OneToOne)、一对多(@OneToMany)、多对一(@ManyToOne)、多对多(@...

    Hibernate + EhCache 实现数据缓存的处理

    本篇将详细探讨如何使用Hibernate ORM框架结合EhCache实现数据缓存的处理,从而提高系统的响应速度。 Hibernate是一个流行的Java持久化框架,它提供了一种便捷的方式来映射对象关系模型(ORM)到关系数据库。然而,...

    spring boot 使用jsp 集成hibernate+shiro+ehcache项目分享

    【Spring Boot 使用 JSP 集成 Hibernate+Shiro+Ehcache 项目详解】 Spring Boot 是一个基于 Spring 框架的高度集成了多种技术的开发工具,它简化了配置过程,使得开发人员能够快速构建可运行的应用程序。在这个项目...

    hibernate-release-4.3.10.Final.zip

    - **HQL(Hibernate Query Language)**:面向对象的查询语言,类似于SQL,但操作的是对象和对象集合。 - **Criteria API**:提供动态构建查询的方式,无需预先编写查询字符串,更加安全。 6. **缓存策略**: - ...

    hibernate-release-5.0.7.Final的所有jar包

    Hibernate是Java领域中一款著名的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库编程。在这个`hibernate-release-5.0.7.Final`版本中,包含了所有相关的jar包,为开发者...

    hibernate+ehcache jar包

    - 在Hibernate配置文件(如`hibernate.cfg.xml`)中启用二级缓存并指定Ehcache为缓存提供者。 - 配置Ehcache的XML配置文件,定义缓存区域、大小、过期策略等。 - 在实体类或映射文件中启用缓存,并指定缓存策略。 4...

    Hibernate4二级缓存Ehcache案例

    在这个“Hibernate4二级缓存Ehcache案例”中,我们将深入探讨如何利用Ehcache作为Hibernate的二级缓存提供商,以提升应用性能。 首先,我们需要了解什么是二级缓存。一级缓存是Hibernate Session级别的缓存,每个...

    hibernate-core-5.0.11.Final.jar

    - 使用二级缓存提高性能,如EhCache集成。 - 合理设计实体关系,避免N+1查询问题。 - 使用批处理更新和插入,减少数据库交互次数。 通过以上分析,我们可以看出`hibernate-core-5.0.11.Final.jar`在ORM中的重要地位...

Global site tag (gtag.js) - Google Analytics