您的位置:首页 > 其它

Hibernate二级缓存配置

2017-08-12 17:47 141 查看
1:在导入相应的ehcache.jar包。
2:在spring中加载hibernate配置文件信息
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
3:在hibernate.xml中添加如下配置:
(1):<!-- 配置二级缓存提供商,注意此处并不是缓存的jar包 -->
<property name="hibernate.cache.region.factory_class">
org.hibernate.cache.ehcache.EhCacheRegionFactory
</property>
(2):<!-- 配置哪些类支持缓存 -->
<class-cache usage="read-write"
class="cn.it.shop.model.Product" />
3:在ehcache.xml文件中添加如下配置:
(1):<!-- 如果缓存内存溢出,则存储到硬盘空间 -->
<diskStore path="java.io.tmpdir"/>
(2):
<!--
maxElementsInMemory:内存中支持的最大的数量。
eternal:对象是否永久生效,建议为false
timeToIdleSeconds:如果对象多长时间没用就会被销毁.
timeToLiveSeconds="120" :对象的生命周期,默认单位为秒
overflowToDisk="true"  :是否支持溢出到硬盘,建议为true
memoryStoreEvictionPolicy="LRU" :对象的替换策略
LRU:最近最少被访问算法(时间策略),会忽略访问频率,离现在最远时间访问的会被替换掉
LFU:最近最未使用算法(频率测量),会忽略访问的先后时间,访问频率最少的会被替换掉
-->
<defaultCache
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="60"
timeToLiveSeconds="120"
overflowToDisk="true"
memoryStoreEvictionPolicy="LFU"
/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: