`

Spring中二级缓存的配置

 
阅读更多
1.首先,在spring的hibernate配置里(applicationContext-config.xml) 加上如下属性:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">          
  <property name="dataSource">
   <ref bean="dataSource"/>
  </property>
  <property name="mappingResources">
   <list>
    <value>org/appfteaching/model/UserVO.hbm.xml</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
          <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
          <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
          <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
          <prop key="hibernate.cache.use_query_cache">true</prop>
          <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
   </props>   
  </property>  
 </bean> 

 

 

2.其次,在src目录下的ehcache.xml中配置如下信息(如果是默认ehcache.xml则会有<cache name="sampleCache1">和<cache name="sampleCache2>",去掉)

我的如下配置:

<echcache>
	<diskStore path="java.io.tmpdir"/>
	<!-- 默认缓存 -->
	<defaultCache 
		eternal="false"
		overflowToDisk="true"
		timeToLiveSeconds="120"
		diskPersistent="false"
	/> 

	<!-- 查询缓存 -->
	<cache name="org.hibernate.cache.StandardQueryCache"
	        maxElementsInMemory="10000"
	        eternal="false"
	        timeToIdleSeconds="300"
	        timeToLiveSeconds="4200"
	        overflowToDisk="true">
	</cache>

    <!-- 二级缓存 -->
	<cache  name="org.hibernate.cache.UpdateTimestampsCache"
        maxElementsInMemory="5000"
        eternal="true"
        timeToIdleSeconds="0"
        timeToLiveSeconds="0"
        overflowToDisk="false"
     /> 
     
	<!-- 给Model设置缓存 -->
	<cache name="pack.java.ssh.mapping.vo.UserVO" 
		maxElementsInMemory="1000"
		eternal="false"
		timeToIdleSeconds="100"
		timeToLiveSeconds="4200"
		overflowToDisk="true"
	/>
</echcache>

  

 

3.最后一步,在UserVO.hbm.xml里加上

<cache usage="read-write"/>

启动Tomcat,如发现如下错误

Could not find configuration [org.hibernate.cache.UpdateTimestampsCache]; using defaults.
Could not find configuration [org.hibernate.cache.StandardQueryCache]; using defaults.

 

则是第二步没有做,加上即可.配置完毕

分享到:
评论

相关推荐

    spring二级缓存

    `caching`和`Hibernate+ehcache二级缓存配置 - 王贵伟 - JavaEye技术网站.files`、`spring中配置二级缓存.files`这些目录可能包含了相关配置文件和资源。 总的来说,Spring二级缓存通过集成EhCache,实现了跨会话的...

    Spring集成的Hibernate配置二级缓存

    本文将详细探讨如何在Spring集成的Hibernate环境中配置二级缓存,以及其背后的原理和实践。 首先,我们需要了解什么是二级缓存。在Hibernate中,一级缓存是每个Session内部的缓存,它自动管理实体的状态,当一个...

    深入理解MyBatis中的一级缓存与二级缓存

    开启二级缓存需要在MyBatis的配置文件中加入 `&lt;settings&gt; &lt;setting name="cacheEnabled" value="true"/&gt;&lt;/settings&gt;`,并在需要开启二级缓存的mapper.xml中加入 `&lt;cache/&gt;`标签,同时让使用二级缓存的POJO类实现...

    spring小结之配置二级缓存!

    总结来说,Spring的二级缓存配置涉及多个层面,包括引入缓存库、设置缓存策略、配置Spring以及在业务代码中使用注解。合理利用二级缓存,能够有效提升系统的响应速度,降低数据库压力,但同时也需要注意缓存的维护和...

    为Spring集成的Hibernate配置二级缓存

    3. **配置Spring**:在Spring的配置文件(如`applicationContext.xml`)中,配置Hibernate SessionFactory,并注入二级缓存配置。以下是一个配置示例: ```xml &lt;bean id="sessionFactory" class="org.spring...

    springmvc4+spring4+hibernate5.1.3+二级缓存ehcache+fastjson配置

    在本配置中,Hibernate版本为5.1.3,支持JPA规范,提供了二级缓存功能,提高了数据访问性能。 4. **二级缓存(Ehcache)**: Ehcache是Hibernate的一个可选二级缓存插件,用于存储数据库查询结果,减少对数据库的...

    spring-boot-starter-data-jpa 的二级缓存

    3. Spring Boot配置:在resources目录中创建hibernate.properties配置文件,设置相关属性,例如是否格式化SQL语句,以及是否启用二级缓存。 4. 实现二级缓存的策略:在Java代码中,需要正确地配置实体类和存储库...

    springMVC二级缓存配置

    Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 ...

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    在Spring Boot项目中配置Redis作为Hibernate的二级缓存,我们需要以下步骤: 1. **添加依赖**: 首先,在`pom.xml`文件中添加Spring Boot的JPA、Hibernate和Redis相关依赖,如: ```xml &lt;groupId&gt;org.spring...

    Spring4+Hibernate4二级缓存实例源码

    5. **在Spring中配置SessionFactory**:在Spring的配置文件中,定义SessionFactory bean,并注入之前设置的缓存配置。例如: ```xml &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate4....

    springMybatis+redis三级缓存框架

    在"springMybatis+redis三级缓存框架"中,MyBatis的二级缓存作为第一级,Redis作为第二级,而Redis中的缓存失效策略(例如LRU,TTL)则可以进一步优化数据的读取。如果一级缓存中未找到所需数据,系统会查询二级缓存...

    Mybatis-plus基于redis实现二级缓存过程解析

    然后,我们需要在Mybatis-plus配置文件中开启二级缓存: ```properties mybatis-plus: global-config: db-config: id-type: auto table-underline: true configuration: cache-enabled: true map-underscore...

    spring + ehcache + redis两级缓存

    在Spring中,可以通过`RedisTemplate`或`StringRedisTemplate`来操作Redis,并配置`@EnableCaching`中的`CacheResolver`和`CacheManager`以使用Redis作为二级缓存。 3. **实现缓存策略**: 缓存策略决定了何时从...

    扩展spring boot cache实现redis一二级分布式缓存

    当一级缓存中的数据被修改时,可以通过发布订阅通知其他节点清空相应的二级缓存,保证数据一致性。 总的来说,通过Spring Boot的扩展性,我们可以方便地集成Redis作为分布式缓存,实现一级和二级缓存的策略,提高...

    hibernate二级缓存 SSH

    4. **SessionFactory配置**:在Spring配置文件中,为SessionFactory添加二级缓存相关的bean。 ```xml &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; &lt;!-- ...

    Ehcache二级缓存.zip

    3. **开启二级缓存配置**:在实际应用中,需要在配置文件中启用和配置Ehcache二级缓存。这通常涉及设置缓存大小、过期策略、缓存策略(如LRU、LFU等)以及缓存的区域(regions)等。配置文件可能是XML格式,例如`...

    hibernate二级缓存

    在Spring框架中管理SessionFactory时,可以在配置文件中添加相应的bean定义,指定数据源、Hibernate属性以及二级缓存的相关设置。例如,`hibernate.cache.use_query_cache`属性可以开启查询缓存,进一步优化性能。 ...

    ehcache二级缓存配置文件

    **Ehcache二级缓存配置详解** Ehcache是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的缓存解决方案,适用于提高应用程序性能和减少数据库负载。在Java应用中,尤其是在Spring框架中,Ehcache常被用作二...

    apache ignite实现mybatis二级缓存所需要的jar包

    4. **配置MyBatis-Ignite插件**:在MyBatis的SqlSessionFactoryBuilder或SqlSessionFactory中,设置IgniteCache对象,作为二级缓存的实现。 5. **使用二级缓存**:在Mapper接口或XML映射文件中,使用`@...

    ssm+redis二级缓存

    【ssm+redis二级缓存】是一个基于SpringMVC、Spring和MyBatis的Web应用程序,结合了Redis作为二级缓存来提升系统性能。在这个项目中,开发人员利用了SSM(Spring、SpringMVC、MyBatis)的集成优势,结合Redis的高速...

Global site tag (gtag.js) - Google Analytics