`
ITCheng
  • 浏览: 76602 次
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate_缓存技术,一,二,三级

阅读更多

1         listiterate不同之处(//主要为了面试  详见hibernate_2900_Hibernate_list_iterate

a)         list取所有

b)         iterate先取 ID,等用到的时候再根据ID来取对象

c)         sessionlist第二次发出,仍会到数据库査询

d)         iterate 第二次,首先找session 级缓存

2         一级缓存和二级缓存和査询缓存(面试题)(详见hibernate_3000_Hibernate_3KindsOf_Cache)

a)         什么是缓存

b)         什么是一级缓存,session级别的缓存

c)         I什么是二级缓存,SessionFactory级别的缓存,可以跨越session存在

                      i.        经常被访间

                  ii.        改动不大不会经常改动

               iii.        数重有限

d)         打开二级缓存

                      i.        hibernate.cfg.xml 设定:

<property

name= "cache.use_second_level_cache">true</property>

<property

name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

                  ii.        @Cache注解(hibernate扩展提供)

@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)

 

注:使用EhCache二级缓存 需要导入ehcache-1.2.3.jarcommons-logging-1.0.4.jar

e)         load默认使用二级缓存,iterate默认使用二级缓存

f)         list默认往二级缓存加数据,但是查询的时候不使用

g)         如果要query用二级缓存,需打开查询缓存

<property name="cache.use_query_cache">true</property>

调用QuerysetCachable (true)方法指明使用二级缓存

例如:session.createQuery("from Category").setCacheable(true).list();

h)         缓存算法:(纯为了面试)

                      i.        LRU  LFU  FIFO

1.             Least Recently Used 最近很少被使用

2.             Least Frequently Used (命中率高低)

3.             First In First Out 按顺序替换

                  ii.        memoryStoreEvictionPolicy = "LRU" (ehcache.xml中配置)

分享到:
评论

相关推荐

    Hibernate_二级缓存 实验心得,手册

    在学习Hibernate的过程中,二级缓存是一个非常重要的概念。与一级缓存不同的是,一级缓存默认为每个`Session`开启,用于存储当前`Session`内的实体状态。而二级缓存则是在`SessionFactory`级别提供的缓存机制,它...

    Hibernate一级缓存和二级缓存

    描述中提到的链接可能是对Hibernate缓存机制的详细技术博客,但具体内容未给出。因此,我们将基于常规的Hibernate缓存知识进行解释。 **一、Hibernate一级缓存** 一级缓存是每个Hibernate Session内的缓存,它是一...

    Hibernate二级缓存技术

    ### Hibernate二级缓存技术详解 #### 一、概述 Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用与关系型数据库之间的交互。为了提高性能和减少数据库的访问频率,Hibernate 提供了一级缓存和二...

    hibernate配置二三级缓存

    ### Hibernate配置二级与三级缓存详解 在Java开发领域中,Hibernate作为一种流行的ORM(对象关系映射)框架,被广泛应用于数据库操作。为了提高应用程序的性能,Hibernate支持多种级别的缓存机制,其中最为常见的是...

    Hibernate缓存技术研究

    ### Hibernate缓存技术研究 #### 一、引言 Hibernate是一种强大的对象-关系映射(Object-Relational Mapping,简称ORM)工具,主要用于Java环境下的应用程序。它能够将应用程序中的对象模型映射到关系型数据库的表...

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    通常,一级缓存由Hibernate Session管理,而二级缓存则可以跨越多个Session进行共享。 在Spring Boot项目中配置Redis作为Hibernate的二级缓存,我们需要以下步骤: 1. **添加依赖**: 首先,在`pom.xml`文件中...

    MyEclipse_Hibernate_Quickstart

    3. **缓存机制**:支持一级缓存和二级缓存,有助于提高应用程序性能。 4. **查询语言**:提供了HQL(Hibernate Query Language),这是一种类似于SQL的语言,用于执行数据库查询。 #### 五、创建Hibernate演示项目 ...

    hibernate_reference.pdf

    - **一级缓存**:Hibernate 自动维护的一级缓存,用于存储从数据库加载的数据。 - **二级缓存**:可选地添加外部缓存插件(如 Ehcache)来提高性能。 - **懒加载**:默认情况下,Hibernate 使用懒加载策略来延迟加载...

    Hibernate-二级缓存总结 开发技术 - Java.zip

    文档"Hibernate_二级缓存总结 开发技术 - Java.doc"可能详细阐述了如何配置和使用Hibernate的二级缓存,包括配置文件的设置、缓存提供者的选用、实体和集合的缓存配置,以及实战中的优化技巧。阅读该文档将有助于...

    Hibernate教程25_Hibernate缓存

    总的来说,这个教程应该涵盖了Hibernate缓存的基础知识,包括一级缓存的工作方式、二级缓存的配置和使用、查询缓存的优缺点,以及如何在S2SH项目中实践这些概念。通过理解和实践这些内容,开发者能够更好地优化其...

    hibernate_src.zip

    4. 深入研究Hibernate的缓存机制,包括一级缓存(Session缓存)和二级缓存(可选的外部缓存服务)。 5. 分析事务管理,理解其如何与JTA(Java Transaction API)或JDBC事务协同工作。 五、实践与应用 在实际开发中...

    Hibernate一级缓存和二级缓存【内附二级缓存数据存储结构】

    本文将深入探讨Hibernate的一级缓存和二级缓存,以及二级缓存的数据存储结构。 首先,一级缓存是Hibernate默认提供的缓存,每个Session都有一个独立的一级缓存。当我们在操作数据库时,例如查询或更新记录,这些...

    基于Struts_Hibernate_Spring轻量级框架的Web应用开发.pdf

    其中,Struts、Hibernate 和 Spring 是目前最流行的三种轻量级框架。 #### Struts、Hibernate 和 Spring 概述 **1. Struts MVC 设计模式** - **模型层(Model)**:负责处理业务逻辑,Struts 提供了 `Action` 和 ...

    Hibernate_3[1].2.0_Reference_zh_CN.

    9. **缓存机制**:介绍Hibernate的缓存策略,包括一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存),以及第三方缓存集成,如 EhCache。 10. **性能优化**:分享提升Hibernate应用性能的技巧,...

    compass_hibernate_spring3.zip

    它支持事务管理、查询语言(HQL)以及二级缓存等功能。 3. **Spring 3**:Spring 是一个开源的 Java 应用框架,提供了依赖注入、面向切面编程(AOP)、数据访问和事务管理等核心功能。Spring 3 是其一个版本,增强...

    hibernate_reference 3.1.2 中文

    Hibernate提供了多种性能优化手段,如一级缓存和二级缓存机制,事务隔离级别设置,懒加载(Lazy Loading)策略等。合理运用这些机制,可以显著提升应用的响应速度和并发处理能力。 ### 结论 总的来说,“hibernate...

    hibernate二级缓存

    Hibernate的缓存层次结构包括一级缓存(Session级别的缓存)和二级缓存。一级缓存是每个Hibernate Session内的内存缓存,它是默认开启的,并且线程安全。当一个对象被加载到Session时,它会被放入一级缓存中,同一...

    Hibernate_3.2.0_Reference_zh_CN

    Hibernate支持两级缓存:第一级缓存是Session级别的,自动管理;第二级缓存可配置为共享缓存,如 EhCache,提高数据访问性能。 八、关联映射 1. 一对一(OneToOne):一个实体对象对应数据库中的一个记录。 2. 一对...

    韩顺平.2011版.hibernate_ppt.zip

    9. **缓存机制**:为了提高性能,Hibernate引入了缓存,包括第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),以及第三方缓存插件如Ehcache。 10. **实体状态**:Hibernate定义了四种...

Global site tag (gtag.js) - Google Analytics