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

Hibernate一级缓存(二)-缓存的清理机制

 
阅读更多
清理缓存是指session缓存中的对象按照属性的变化来更新数据库。

session会在清理缓存时判断缓存中对象是否【属性】有变化,有变化则更新数据库。
如何判断属性变化: session会在对象加入缓时为对象创建一个副本,在清理缓存时,通过把加入缓存时的副本与当前缓存比较,如果有变化则说明是需要刷新数据。会根据变化对象的属性执行一条update语句。

何时清理缓存:
(1)调用Transaction的commit()函数提交事务之前会清理缓存。
(2)调用Session的flush()时会清理缓存
(3)执行某些查询操作之前,会清理缓存刷新数据库,再查询。保证数据的一致性。

[color=orange]手动维护缓存:[color]
(1)Session的evict(Object o)函数可以在缓存中删除对应的对象(一般用于批量处理)
(2)Session的clear()函数清空缓存中的持久化对象
分享到:
评论

相关推荐

    day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件

    本篇文章将深入探讨Hibernate的二级缓存机制,以及如何进行一级缓存与二级缓存的同步,同时还会介绍二级缓存的配置文件设置。 一级缓存是Hibernate默认提供的缓存,每个SessionFactory实例都有一个一级缓存。当对象...

    hibernate一级缓存

    **hibernate一级缓存详解** 在Java的持久化框架Hibernate中,一级缓存是其核心特性之一,它为提高数据库操作效率、减少对数据库的访问提供了重要支持。一级缓存,也称为session缓存,是每个Hibernate Session内部...

    hibernate二级缓存java包下载

    二级缓存是 Hibernate 缓存策略的一部分,它在应用程序的多个会话之间共享数据,进一步优化了数据库访问效率。 二级缓存分为以下关键知识点: 1. **一级缓存与二级缓存的区别**: - 一级缓存:每个 Hibernate ...

    hibernate二级缓存示例源码

    - 更新操作可能导致缓存中的数据过期,需要正确处理缓存同步,例如使用`@CacheEvict`注解进行缓存清理。 - 对于大对象或频繁更新的对象,二级缓存可能不是最佳选择,因为它们会占用大量内存并增加缓存管理的复杂性。...

    Hibernate 二级缓存 总结整理

    在处理大数据量或高并发的场景下,为了提高性能和减少数据库负载,Hibernate 提供了二级缓存机制。本文将深入探讨Hibernate的二级缓存,并结合相关源码进行解析。 ### 一、一级缓存与二级缓存 1. **一级缓存...

    hibernate 二级缓存

    2. 缓存失效:合理设置缓存过期时间或使用事件驱动的缓存清理机制,确保缓存中的数据与数据库保持同步。 3. 性能调优:根据系统负载和硬件资源,调整缓存大小和并发级别,避免内存溢出。 4. 安全性:不要缓存敏感...

    hibernate开启二级缓存和查询缓存

    在 Hibernate 中,二级缓存和查询缓存是提高应用性能的重要机制。下面将详细介绍如何开启并理解这两个缓存机制。 ### 1. 一级缓存与二级缓存 #### 1.1 一级缓存 一级缓存是 Hibernate 内置的 Session 缓存,它是每...

    Hibernate二级缓存技术

    为了提高性能和减少数据库的访问频率,Hibernate 提供了一级缓存和二级缓存机制。其中,一级缓存是由Hibernate管理的,而二级缓存则是开发者可以自定义的缓存策略。 #### 二、二级缓存介绍 Hibernate 的二级缓存是...

    Hibernate性能优化:一级缓存

    一级缓存是Hibernate内置的一种缓存机制,它存在于SessionFactory的生命周期内,是线程安全的。每次Session打开时,都会共享同一个SessionFactory的一级缓存,因此,对于同一会话内的多次查询,如果对象已在一级缓存...

    hibernate二级缓存

    ### Hibernate 二级缓存详解 ...通过以上介绍,我们可以看出 Hibernate 的二级缓存机制在提高系统性能方面扮演着重要角色。开发者可以根据实际需求灵活配置和使用缓存策略,以达到最佳的应用性能。

    Hibernate二级缓存

    Hibernate缓存主要分为一级缓存和二级缓存: 1. **一级缓存(Session级别)**:每个Hibernate Session都拥有自己的缓存,也称为事务级缓存。当对象被持久化时,会自动放入一级缓存,同一会话内多次查询相同对象只会...

    J2EE企业级项目开发-1期 05 hibernate二级缓存实战经验.doc

    二级缓存是Hibernate提供的一个全局、跨会话的缓存机制。它存储了数据库实体的持久化对象,可以在多个会话之间共享,从而减少了对数据库的直接访问,提高了系统性能。在Hibernate中,二级缓存由插件式缓存提供者实现...

    day37 07-Hibernate二级缓存:查询缓存

    在实践中,通过深入理解Hibernate的二级缓存机制,尤其是查询缓存,开发者可以有效地提高应用的响应速度,减轻数据库负载,从而提升整体性能。不过,要注意合理使用,防止过度依赖缓存导致的数据不一致问题。 在给...

    Hibernate一级缓存和二级缓存详解

    Hibernate是一种流行的基于Java的持久化框架,它提供了两种缓存机制:一级缓存和二级缓存。了解这两种缓存机制是非常重要的,因为它们可以极大地提高应用程序的性能。 一级缓存 一级缓存是Session级别的缓存,一个...

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

    在Hibernate中,缓存分为一级缓存和二级缓存。 一级缓存是Session级别的,它是内建在SessionFactory中的,默认开启且不可关闭。当对象被加载到Session中时,它们会被自动放入一级缓存。每次对数据库的修改都会同步...

    Hibernate缓存机制,转载

    **标题:“Hibernate缓存机制,转载”** **描述:**这篇博客主要探讨了Hibernate框架中的缓存机制,包括一级缓存和二级缓存的概念、工作原理以及如何在实际开发中应用。 **标签:“源码 工具”** **知识点详解:*...

    hibernate的缓存机制

    此外,缓存管理(如缓存更新、缓存同步、缓存清理)也需要额外的开销。 **配置与使用**: 在Hibernate中启用二级缓存,需要在配置文件(如hibernate.cfg.xml)中指定缓存提供者,并在实体类或映射文件上添加注解或...

    Hibernate的缓存策略

    - **缓存清理**:对于一级缓存,在进行大量数据更新时,应适当调用`clear()`方法来释放内存资源,避免内存溢出的风险。 - **缓存配置**:对于二级缓存,合理的缓存配置至关重要。这包括选择合适的缓存插件、设置合理...

Global site tag (gtag.js) - Google Analytics