springmvc结合ehcache实现共享对象缓存

  笔者最近在学习Web性能优化的知识,想用springmvc结合ehcache来实现共享对象缓存,可是网上的很多教程讲得不是很清楚,加上本人对spring的知识还没有完全熟悉,所以在实现过程中碰到了各种各样的问题。现在将我的实验过程记录下来,以便以后回顾并且给广大正努力学习的同学参考参考。以下的代码基础是我自己本人写的小demo,具体功能以及实现请忽略,这里只关注缓存实现,并且默认大家已经都写过简单的springmvc项目,关于springmvc的配置就不多述。

  具体实验步骤如下:

  首先在之前的springmvc项目的pom.xml里增加ehcache依赖包,如下:

  

  然后在springmvc配置文件里增加缓存配置,主要配置启动缓存注解功能和基于ehcache实现的缓存管理器,要注意的是不要忘记在最上方添加cache的命名空间:

  

  接着配置ehcache.xml,定义缓存的策略。在这个简单的例子里我只定义了名为“myCache”的一个缓存:

  

  

  到此关于配置的内容就都实现了,接下来来实现缓存。

  我是在点击特定菜品返回菜品信息功能上加上缓存,即CuisineService里的getCuisineByName方法,该方法调用dao层(我命名为CuisineRepository)的对应方法,同时输出信息提示调用该函数。具体如下:

  

  然后在controller里调用service里的函数,同时打印输出“myCache”缓存对象里的信息:

  

  

  最终运行结果如下:

  第一次点击,结果如下:

  

  此时myCache里没有缓存。

 第二、第三次运行,如下:

  

  

  没有输出service里的信息“调用了测试缓存的方法”,同时myCache里有缓存输出,证明除了第一次访问调用了service里的方法,以后的访问都是使用缓存里的信息。

  此外,我还用ab命令对性能进行测试,结果如下:

  有缓存:

  

  没缓存:

  

  可以看到有缓存的各方面的性能确实比没缓存的好。

时间: 2024-10-08 19:54:39

springmvc结合ehcache实现共享对象缓存的相关文章

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

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

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

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

缓存插件 EHCache 对象缓存(Spring)

对象缓存就是将查询的数据,添加到缓存中,下次再次查询的时候直接从缓存中获取,而不去数据库中查询. 对象缓存一般是针对方法.类而来的,结合Spring的Aop对象.方法缓存就很简单.这里需要用到切面编程,用到了Spring的MethodInterceptor或是用@Aspect. 代码如下: package com.hoo.common.ehcache; import java.io.Serializable; import net.sf.ehcache.Cache; import net.sf.

springMVC整合ehcache,缓存失败

这两天在用springMVC整合ehcache,把所有的东西都配置完成之后,发现@Cacheable这个放在Service上的注解根本就不好使,于是乎,用junit测试Dao发现放在Dao上的@Cacheable是好使的,也没再测试Service因为肯定也是好用的.这样肯定就是springMVC的某个配置文件出了问题,从web.xml到context.xml查了个遍,最后发现是spring-mvc.xml中的注解扫描包 <!-- 注解扫描包 --> <context:component-

(转)springMVC+mybatis+ehcache详细配置

一. Mybatis+Ehcache配置 为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方案,在此我们主要是做查询缓存,提高查询的效率. 整合MyBatis和ehcache需要的jar包如下: ehcache-core-2.4.4.jar mybatis-ehcache-1.0.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.2.jar 资源已上传

springMVC+mybatis+ehcache详细配置

一. Mybatis+Ehcache配置 为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方案,在此我们主要是做查询缓存,提高查询的效率. 整合MyBatis和ehcache需要的jar包如下: ehcache-core-2.4.4.jar mybatis-ehcache-1.0.0.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.2.jar 资源已上传

SpringMVC + MyBatis + Mysql + Redis(作为二级缓存) 配置

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 整体思路 pomxml中加入Maven依赖 引入applicationContextxml中引入redis配置 创建缓存实现类RedisCache 创建中间类RedisCacheTransfer完成RedisCachejedisConnectionFactory的静态注入 配置文件redisproperties mapper中加入MyBatis二级缓存 Mybatis全局配置 打印Sql日志方便测试 测试代码 项目环境: 在

SpringMVC,Ehcache

来自:http://blog.csdn.net/jadyer/article/details/12257865 这里用的是SpringMVC-3.2.4和Ehcache-2.7.4 介绍二者集成之前,先介绍下GoogleCode上的ehcache-spring-annotations项目 /** * ehcache-spring-annotations简介 * @see ---------------------------------------------------------------

ehcache memcache redis 三大缓存男高音

最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考!  Ehcache 在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apache 2.0  license).充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中. 什么特色? 1.  够快 Ehcache的发行有一段