Hibernate中的二级缓存SessionFactory
2016-11-28 21:20
337 查看
二级缓存是一个共享缓存,在二级缓存中存放的数据是共享数据
特性
修改不能特别频繁
数据可以公开
二级缓存在sessionFactory中,因为sessionFactory本身是线程安全,所以二级缓存的数据线程也是安全的,二级缓存的生命周期和sessionFactory一样
怎么样把数据放入到二级缓存中?
通过session.get,session.load,session.update方法都可以把对象放入到二级缓存中(同时也存入了一级缓存中)
session.save 该方法只把对象放入到了一级缓存中,没有放入到二级缓存中,如果执行session.flush()时,会把数据放到二级缓存中
怎么样把数据从二级缓存中提取?
通过session.get和session.load方法都可以提取二级缓存中的数据
配置二级缓存
把二级缓存中的数据放到磁盘上
在classpath下存放一个文件ehcache.xml
当内存中的二级缓存存放够5个对象时,剩余的对象就放入到磁盘上
特性
修改不能特别频繁
数据可以公开
二级缓存在sessionFactory中,因为sessionFactory本身是线程安全,所以二级缓存的数据线程也是安全的,二级缓存的生命周期和sessionFactory一样
怎么样把数据放入到二级缓存中?
通过session.get,session.load,session.update方法都可以把对象放入到二级缓存中(同时也存入了一级缓存中)
session.save 该方法只把对象放入到了一级缓存中,没有放入到二级缓存中,如果执行session.flush()时,会把数据放到二级缓存中
怎么样把数据从二级缓存中提取?
通过session.get和session.load方法都可以提取二级缓存中的数据
配置二级缓存
把二级缓存中的数据放到磁盘上
在classpath下存放一个文件ehcache.xml
1 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:noNamespaceSchemaLocation="../config/ehcache.xsd"> 3 4 <diskStore path="C:\\TEMP1"/> 5 <defaultCache 6 maxElementsInMemory="12" 7 eternal="false" 8 timeToIdleSeconds="120" 9 timeToLiveSeconds="120" 10 overflowToDisk="false" 11 maxElementsOnDisk="10000000" 12 diskPersistent="false" 13 diskExpiryThreadIntervalSeconds="120" 14 memoryStoreEvictionPolicy="LRU" 15 /> 16 17 <Cache 18 name="cn.test.Classes" 19 maxElementsInMemory="5" 20 eternal="false" 21 timeToIdleSeconds="120" 22 timeToLiveSeconds="120" 23 overflowToDisk="true" 24 maxElementsOnDisk="10000000" 25 diskPersistent="false" 26 diskExpiryThreadIntervalSeconds="120" 27 memoryStoreEvictionPolicy="LRU" 28 /> 29 </ehcache>
当内存中的二级缓存存放够5个对象时,剩余的对象就放入到磁盘上
相关文章推荐
- hibernate二级只读缓存设置 --oracle 是对sessionFactory而言的
- hibernate笔记--缓存机制之 二级缓存(sessionFactory)和查询缓存
- hibernate sessionFactory是做什么的,一级缓存二级缓存都是干什么的
- Hibernate进阶之SessionFactory二级缓存
- Hibernate 一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题
- Hibernate二级缓存(sessionFactory)
- Hibernate二级缓存——SessionFactory
- Hibernate-二级缓存 sessionFactory
- Hibernate的一级缓存Session和二级缓存SessionFactory
- 为Spring集成的Hibernate配置二级缓存
- Hibernate统计和查询二级缓存
- Hibernate HelloWorld-13 hibernate 二级缓存
- Hibernate 一级缓存和二级缓存
- 介绍一下Hibernate的二级缓存
- hibernate二级缓存配置
- Hibernate 二级缓存
- hibernate使用memcache做二级缓存
- hibernate 一级缓存二级缓存及查询缓存
- Hibernate二级缓存的并发访问策略
- hibernate一级缓存和二级缓存的区别