- 浏览: 590798 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (214)
- javaweb学习 (20)
- 算法 (7)
- oracle数据库 (18)
- PHP学习 (3)
- mysql数据库 (8)
- css (9)
- ajax (2)
- it生活 (1)
- 数据结构 (2)
- jsp (1)
- 设计模式 (3)
- struts1 (0)
- struts2 (0)
- spring (6)
- hibernate (2)
- tomcat (2)
- xml (0)
- javascript (16)
- java基础 (19)
- ASP.基础 (1)
- 非技术 (8)
- 女人的反常行为,女人爱哭,鲜花,爱,男人,电话,闺蜜,恋爱 (1)
- 计算机 (4)
- 互联网新闻 (1)
- 面试题 (1)
- c++ (1)
- 浏览器 (1)
- MyEclipse (0)
- 关系数据库 (1)
- 开发工具 (2)
- HTTP协议 (2)
- oracle性能优化 (1)
- java性能优化 (1)
- android (0)
- jquery (2)
- jdbc (2)
- 计算机系统 (1)
- linux (22)
- 网络安全 (1)
- java架构 (2)
- 软件工具 (1)
- nginx (4)
- chrome (1)
- SVN (1)
- jetty (1)
- 研发管理 (4)
- hadoop (3)
- eclipse (2)
- JSON (3)
- mysql (14)
- restful (1)
- vbox (1)
- maven (3)
- netty (1)
- Web前端 (1)
- HTML (1)
- 设计 (1)
- Redis (1)
- cassandra (1)
最新评论
-
itlang01:
推荐mybatis插件https://github.com/y ...
mysql设置修改时间,更新记录当前时间 -
longen2011:
客户端可以发送包含“Content-Encoding: gzi ...
HTTP消息头详细介绍 -
Tiro_Li:
很抱歉你指出了我博文中的错误,这个问题是由于maven-ar ...
mvn构建web项目异常处理 -
chen_lian:
似乎有点问题的是如果 输入 000009能够验证通过
js验证输入的值是否钱数 -
nicegege:
起来Rails的一个五颜六色的羽毛帽,现在是在地面上。 Twi ...
oracle数据库导出命令EXP
Hibernate缓存的作用:
Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据
Hibernate缓存分类:
Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存
Hibernate一级缓存又称为“Session的缓存”,它是内置的,不能被卸载(不能被卸载的意思就是这种缓存不具有可选性,必须有的功能,不可以取消session缓存)。由于Session对象的生命周期通常对应一个数据库事务或者一个应用事务,因此它的缓存是事务范围的缓存。第一级缓存是必需的,不允许而且事实上也无法卸除。在第一级缓存中,持久化类的每个实例都具有唯一的OID。
Hibernate二级缓存又称为“SessionFactory的缓存”,由于SessionFactory对象的生命周期和应用程序的整个过程对应,因此Hibernate二级缓存是进程范围或者集群范围的缓存,有可能出现并发问题,因此需要采用适当的并发访问策略,该策略为被缓存的数据提供了事务隔离级别。第二级缓存是可选的,是一个可配置的插件,在默认情况下,SessionFactory不会启用这个插件。
什么样的数据适合存放到第二级缓存中?
1 很少被修改的数据
2 不是很重要的数据,允许出现偶尔并发的数据
3 不会被并发访问的数据
4 常量数据
不适合存放到第二级缓存的数据?
1经常被修改的数据
2 .绝对不允许出现并发访问的数据,如财务数据,绝对不允许出现并发
3 与其他应用共享的数据。
Hibernate查找对象如何应用缓存?
当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;如果都查不到,再查询数据库,把结果按照ID放入到缓存
删除、更新、增加数据的时候,同时更新缓存
Hibernate管理缓存实例
无论何时,我们在管理Hibernate缓存(Managing the caches)时,当你给save()、update()或saveOrUpdate()方法传递一个对象时,或使用load()、 get()、list()、iterate() 或scroll()方法获得一个对象时, 该对象都将被加入到Session的内部缓存中。
当随后flush()方法被调用时,对象的状态会和数据库取得同步。 如果你不希望此同步操作发生,或者你正处理大量对象、需要对有效管理内存时,你可以调用evict() 方法,从一级缓存中去掉这些对象及其集合。
更多hibernate缓存的知识:[转] hibernate 缓存攻略 http://www.iteye.com/topic/18904
发表评论
-
POI-JAVA读取excel生成word表格文档
2019-06-17 20:41 979平时,使用POI操作Excel,但是很少操作WORD。今天 ... -
maven依赖文件导出指定目录
2017-11-06 01:30 794命令: mvn dependency:copy-depen ... -
研发中总结的经验
2017-07-20 18:20 7371.和别人对接时,定义好接口规范,统一的请求和响应规范。后 ... -
java读取远程文件
2015-07-14 11:10 9073java读取本地文件大家都不陌生,而且实现也相对轻松。ja ... -
tomcat加载jar包顺序
2015-07-14 10:13 3638概述:项目使用springMVC,serviceImpl注 ... -
sqlmap安装和学习
2015-03-16 16:17 2447上周五晚上,我和同事(外号xp)在吃饭的时候,突然接到电话说 ... -
一次印象深刻的java面试
2015-03-08 01:46 15931.String、StringBuffer、StringB ... -
jxls实现Excel文件导出
2014-09-16 17:14 1915package net.chinaedu.projects. ... -
网站访问量高峰期数据库断连接
2012-10-09 11:26 11041.今天发现发布部署的网站多点击某一个连接的时候,会报错,我倍 ... -
[转]jsp JavaWeb中的Session
2012-09-19 11:09 1247在JavaWeb中使用HttpSession(以下简称ses ... -
IE网页导出word和excel
2012-05-30 09:31 3329function exportAsWord() { va ... -
什么是MIME
2011-11-23 17:24 1111什么是MIME类型-在把输出结果传送到浏览器上的 ... -
Java object类型转换为int类型
2011-10-20 11:30 38761在struts1的action类中设置了String类型的变量 ... -
jsp中不让&显示为&的方式
2011-08-03 17:10 3462今天在网页中从服务其中获取的属性值包含大量的&a ... -
普元EOS平台中获取登陆用户可以启动的流程信息的运算逻辑构件有些问题,结果不正确
2011-07-22 10:22 4356调用EOS构建包com.primeton.eos.wf.biz ... -
功能强大的this
2011-07-14 13:24 0javascript中的this表示调用方法的当前对象,如果在 ... -
2种方式制作细表格
2011-07-14 10:00 10421.设置表格边框为0,单元格间距为1px,表格背景颜色为黑色, ... -
有没有什么方法把EOS的pra文件转换成prg文件
2011-05-31 11:18 1263请大家帮个忙,集思广议能不能有什么好方法,解决了这个问题。。。 ... -
项目管理框架
2011-04-11 17:28 12261.什么是项目? 项目是为了创造某一独特的产品或服务,特定的 ... -
Web项目没有web.xml配置文件
2011-04-06 16:45 2275:网上下的OA系统,在tomcat5.5中部署项目,jsp文 ...
相关推荐
Hibernate缓存机制是提高应用程序性能的关键技术之一,它通过存储数据副本减少对物理数据库的访问。缓存可以分为两层:第一级缓存和第二级缓存。 **第一级缓存**是内置在Session中的,它是不可卸载的,也称为...
Hibernate缓存机制是提高应用程序性能的关键特性,尤其是在频繁与数据库交互的应用中。缓存通过减少对物理数据库的直接访问次数,显著提升了数据读取和写入的速度。这主要是因为从缓存中读取数据比从数据库中获取更...
**标题:“Hibernate缓存机制,转载”** **描述:**这篇博客主要探讨了Hibernate框架中的缓存机制,包括一级缓存和二级缓存的概念、工作原理以及如何在实际开发中应用。 **标签:“源码 工具”** **知识点详解:*...
《Hibernate缓存机制详解》 Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。其缓存机制是优化性能的关键组成部分,它减少了对数据库的直接访问,提高了数据处理效率。本文...
在配置Hibernate缓存时,需要明确哪些实体或查询结果应该缓存,并设置相应的缓存策略。例如,我们可以使用`@Cacheable`注解标记实体类,使用`@Cache`注解来定义缓存区域和策略。同时,对于查询结果的缓存,可以使用`...
理解Hibernate缓存的工作原理及配置方法对于提高应用性能具有重要意义。 在Hibernate中,缓存分为一级缓存(第一级缓存)和二级缓存(第二级缓存)。一级缓存是默认启用的,它存储在一个`Session`实例中,用于减少...
## Hibernate缓存机制详解 ### 一、缓存分类与管理 Hibernate提供了两种主要的缓存类型:一级缓存和二级缓存。 #### 1. 一级缓存 一级缓存也称为Session缓存,它在同一个Session中对数据的多次读取操作只需要一...
### Hibernate缓存机制详解 #### 一、概述 Hibernate 是一款流行的 Java 持久层框架,它简化了 Java 应用程序与数据库交互的过程。然而,直接使用 JDBC 访问数据库存在一定的性能开销。为了提升性能,Hibernate ...
这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时保存经常访问的数据,以减少对主存储器(如数据库)的...
### Hibernate缓存技术研究 #### 一、引言 Hibernate是一种强大的对象-关系映射(Object-Relational Mapping,简称ORM)工具,主要用于Java环境下的应用程序。它能够将应用程序中的对象模型映射到关系型数据库的表...
总的来说,理解和熟练运用Hibernate的缓存机制以及Session的管理方式,对于优化应用性能、减少数据库负载至关重要。在实际开发中,开发者应根据项目需求和性能要求,合理配置和使用缓存,以及选择合适的Session管理...
### Hibernate缓存机制详解 #### 一、Hibernate缓存机制原理及配置 **1.1 Hibernate缓存概述** Hibernate作为一款流行的Java持久层框架,其缓存机制是提高应用程序性能的关键之一。缓存的主要作用在于减少数据库...
### Hibernate缓存机制及优化策略 #### 一、概述 Hibernate作为一款优秀的对象关系映射(ORM)框架,在Java开发领域被广泛应用于数据库操作。它提供了丰富的缓存机制来提高应用性能并降低数据库访问压力。本文将...
本文将深入探讨 Hibernate 的缓存机制,包括其两个级别——一级缓存和二级缓存,并讨论它们的工作原理、范围、并发访问策略以及如何管理和配置。 1. **一级缓存** - **范围与作用**:一级缓存是 Session 级别的...
综上所述,Hibernate缓存机制是提升应用性能的重要手段,通过合理配置缓存策略、优化查询方式、管理数据库连接以及实施有效的监控和调优措施,可以显著提高Hibernate应用的运行效率和用户体验。然而,缓存的使用并非...
Hibernate的缓存机制是优化应用程序性能的关键组成部分,它通过存储数据副本减少对数据库的直接访问,从而提升系统响应速度。缓存主要分为两类:一级缓存(Session缓存)和二级缓存。 一级缓存是Hibernate的核心...
### 详解Hibernate的缓存机制及其配置代码 #### 一、缓存概念及目的 缓存作为一种优化技术,在软件开发中扮演着极其重要的角色。它位于应用程序与物理数据源(如数据库)之间,用于临时存储数据的副本,旨在减少...