springmvc 缓存-spring MVC 3.1 ehcache 缓存无效

问题描述

spring MVC 3.1 ehcache 缓存无效
 <bean id="cacheManagerFactory"
      class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml" />
</bean>
<bean id="cacheManager"  class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="cacheManagerFactory" />
</bean>

我的spring 中配置的ehcache

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">  

<diskStore path="java.io.tmpdir"/>
<defaultCache
   maxElementsInMemory="1000"
   eternal="false"
   timeToIdleSeconds="120"
   timeToLiveSeconds="120"
   overflowToDisk="false"/>
<cache name="theCache"

   maxElementsInMemory="2000"
   eternal="false"
   overflowToDisk="true"
   diskPersistent="true"/>
<cache name="cacheTest"

   maxElementsInMemory="2000"
   eternal="false"
   overflowToDisk="true"
   diskPersistent="true"/>
</ehcache>

ehcache.xml 的配置

下面就是我的service 层

    @Cacheable(value="theCache",key="'customer'")
public Customer GetCustomerByCid(int cid){
    System.out.print("----------------------------------------------------------");
    return cd.GetCustomerByCid(cid);
}

结果 测试点击两次查询tomcat打印:
第一次:
DEBUG - Last-Modified value for [/jxc/customer/GetCustomerByCid] is: -1
----------------------------------------------------------DEBUG - Creating a new SqlSession
DEBUG - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@63921a] was not registered for synchronization because synchronization is not active
DEBUG - Fetching JDBC Connection from DataSource
DEBUG - JDBC Connection [jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8, UserName=root@7-PC, MySQL-AB JDBC Driver] will not be managed by Spring
DEBUG - ooo Using Connection [jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8, UserName=root@7-PC, MySQL-AB JDBC Driver]
DEBUG - ==> Preparing: select * from Customer where cid=?
DEBUG - ==> Parameters: 18(Integer)

第二次:

DEBUG - Last-Modified value for [/jxc/customer/GetCustomerByCid] is: -1
----------------------------------------------------------DEBUG - Creating a new SqlSession
DEBUG - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@19cdf24] was not registered for synchronization because synchronization is not active
DEBUG - Fetching JDBC Connection from DataSource
DEBUG - JDBC Connection [jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8, UserName=root@7-PC, MySQL-AB JDBC Driver] will not be managed by Spring
DEBUG - ooo Using Connection [jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8, UserName=root@7-PC, MySQL-AB JDBC Driver]
DEBUG - ==> Preparing: select * from Customer where cid=?
DEBUG - ==> Parameters: 18(Integer)

很明显是访问了两次数据库,但是 我不知道为什么缓存无效,求大牛指教。。。

时间: 2024-11-01 21:57:42

springmvc 缓存-spring MVC 3.1 ehcache 缓存无效的相关文章

问题标签用户 spring MVC 3.1 ehcache 缓存无效

问题描述 我的spring中配置的ehcache<beanid="cacheManagerFactory"class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"><propertyname="configLocation"value="classpath:ehcache.xml"/></bean><bean

spring aop 拦截器 ehcache 缓存加载

问题描述 spring aop 拦截器 ehcache 缓存加载 最近想利用spring aop 与 ehcache 设计一个缓存框架,我的想法是,配置ehcache.xml参数,然后在applicationContext.xml中配置脚本: <bean id="defaultCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> </be

利用Spring MVC轻松实现页面缓存

缓存|页面 Spring的MVC是一个非常灵活的框架,可以无缝集成Struts/WebWork以及Velocity/Tapestry等View技术.Spring的DispatherServlet定义极为灵活,由于是开源框架,我们通过源代码,能轻松定制自己的处理流程. 为了实现页面缓存,可以改写DispatherServlet的doService()方法,这里提出一个解决方案: 利用WrappedResponse获得handler处理后的内容,然后缓存起来,这样在下次请求时,可以直接输出缓存内容.

Spring+EhCache缓存实例(详细讲解+源码下载)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式缓存.主要面向通用缓存,Java EE和轻量级容器.它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP

Ehcache 整合Spring 使用页面、对象缓存(转)

Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以了,而且Ehcache可以对页面.对象.数据进行缓存,同时支持集群/分布式缓存.如果整合Spring.Hibernate也非常的简单,Spring对Ehcache的支持也非常好.EHCache支持内存和磁盘的缓存,支持LRU.LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件.同时它也能提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速度.

spring mvc+spring3+hibernate4的事务不会自动清楚session缓存

问题描述 spring mvc+spring3+hibernate4的事务不会自动清楚session缓存 没有手动清缓存,就不执行插入SQL了手动清缓存的话,就能添加成功. 有知道原因的大神吗!!! 解决方案 没遇到过这种情况,tomcat么 解决方案二: 你这个没有加上事务,save时不会自动flush,加了事务之后commit时会自动flush.你配置事务了吗? 解决方案三: 贴出事务来看看,会不会没起作用

Ehcache 整合Spring 使用页面、对象缓存

Ehcache在很多项目中都出现过,用法也比较简单.一般的加些配置就可以了,而且Ehcache可以对页面.对象. 数据进行缓存,同时支持集群/分布式缓存.如果整合Spring.Hibernate也非常的简单,Spring对Ehcache的支持也非常好. EHCache支持内存和磁盘的缓存,支持LRU.LFU和FIFO多种淘汰算法,支持分布式的Cache,可以作为Hibernate的缓存插件.同时 它也能提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速

Spring MVC入门 —— 跟开涛学SpringMVC

2014-05-14 23:22:27 第二章 Spring MVC入门 -- 跟开涛学SpringMVC  浏览(84979)|评论(12)   交流分类:Java|笔记分类: 跟开涛学Spring--  2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring

Redis 缓存 + Spring 的集成示例

SpringSession和Redis实现Session跨域 http://www.ithao123.cn/content-11111681.html   tomcat中创建session很耗服务器内存 原生session与session in redis对比下面是从stackoverflow上找到的一些观点: Using something like Redis for storing sessions is a great way to get more performance out of