Hibernate缓存机制
来源:互联网 发布:世界十大网络病毒事件 编辑:程序博客网 时间:2024/05/09 06:52
Hibernate作为和数据库数据打交道的框架,自然会设计到操作数据的效率问题,而对于一些频繁操作的数据,缓存策略就是提高其性能一种重要手段,而Hibernate框架是支持缓存的,而且支持一级和二级两种缓存,合理的使用缓存策略可以大大提高我们的操作数据效率,但是利用不能,可能会造成不必要的麻烦。
一,一级缓存(Session缓存):
Session缓存表示将查询结果放置到Session的临时存储空间(一级缓存中)。Hibernate框架默认支持一级缓存的。一级缓存的范围较小,一旦Session关闭,那么缓存失效。我们使用框架的各种方法,例如:get,load,save,update,delete等都支持一级缓存的。
二,二级缓存(SessionFactory缓存):
1,概述:
二级缓存其实就是将查询的数据放置在SessionFactory临时存储空间中,因为一个SessionFactory可以创建多个Session对象,所以范围比Session缓存的要大,多个Session可以共享二级缓存的数据。当然了二级缓存也不能存储大量的数据,这个要根据我们电脑配置进行设置。
2,如何设置使用二级缓存呢?Hibernate默认是不支持二级缓存的。
a,首先在hibernate.cfg.xml配置文件中添加属性标签,启用二级缓存:
<!--启用二级缓存 --><propertyname="hibernate.cache.use_second_level_cache">true</property>
b,二级缓存需要使用额外的第三方组件:ehcache。需要我们拷入对应的jar包,以及将对应的ehcache.xml存放到src目录下。在这个配置文件中,我们可以设置二级缓存的大小等。c,让框架识别添加入的ehcache缓存组件,在hibernate.cfg.xml配置文件中添加属性标签:
<!--让框架识别ehcache缓存组件 --><propertyname="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
d,设置需要缓存的映射类,这里只是将一些查询操作比较频繁的类指定即可,哪些不经常操作的数据,是没有必要利用缓存的。这里例如:
3,缓存的操作数据原理:
查询数据时,会首先从一级缓存中取数据,如果取上,则直接使用,否则到二级缓存中取,如果取到则直接使用,否则,就会发送语句查询数据库。这样利用一级和二级缓存会提高访问效率。 当然使用二级缓存要慎重,要考虑数据的操作频繁性,服务器的硬件配置,数据的安全性等等方面,这样才能很好的利用二级缓存,提高我们操作数据的效率,否则使用不当就会带来不必要的麻烦。
1 0
- Hibernate缓存机制介绍
- Hibernate:缓存机制解析
- Hibernate:缓存机制解析
- Hibernate的缓存机制
- Hibernate的缓存机制
- Hibernate的缓存机制
- HIbernate缓存机制
- Hibernate的缓存机制
- hibernate的缓存机制
- Hibernate缓存机制
- Hibernate缓存机制2
- Hibernate缓存机制介绍
- Hibernate缓存机制
- hibernate缓存机制
- hibernate 缓存机制
- hibernate缓存机制
- Hibernate缓存机制
- hibernate缓存机制
- Android课程笔记_02
- 第七周 OJ练习-1
- Spring Boot Shiro 权限管理
- [BZOJ1630/2023][Usaco2005 Nov]Ant Counting 数蚂蚁(dp)
- 实战windows下nginx负载均衡(请勿转载)
- Hibernate缓存机制
- 如何修改Maven的JDK版本
- 理解cut,awk,sort三个命令的分隔符选项
- ECharts-X 3D地图World Flights简单画线画点Demo
- 老刘安卓之安卓网络下载(一)
- android 在string.xml 如何添加特殊符号
- 解析在PHP中使用全局变量的几种方法
- 播客收集
- 2016CVPR目标检测论文简介