码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-06-24 17:27:23      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:nbsp   http   text   XML   demo   pom   epo   努力学习   学习   

  笔者最近在学习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命令对性能进行测试,结果如下:

有缓存:

               技术分享技术分享

 

没缓存:

技术分享

        技术分享

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

 

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

标签:nbsp   http   text   XML   demo   pom   epo   努力学习   学习   

原文地址:http://www.cnblogs.com/lingd3/p/7073586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!