转载自 http://blog.csdn.net/l271640625/article/details/20528679

六、在页面中使用EHCache缓存

       简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了。

       在80/20 原则生效的地方,我们都应该考虑是否可以使用缓存。但即使是这样,缓存也有不同的用法,举个例子,一个网站的首页估计是被访问的次数最多的,我们可以考虑给首页做一个页面缓存。页面访问最频繁的,做缓存。不同的页面的缓存策略有可能有天壤之别。

       毫无疑问,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db ,所以给首页做缓存是一个不错的主意,那么主页的缓存策略是什么样子的呢,我认为应该是某个固定时间之内不变的,比如说2 分钟更新一次。或者根据不同的网页功能采取合理的策略。

 在使用ehcache 的页面缓存之前,我们必须要了解ehcache 的2个概念:

(1)timeToIdleSeconds ,多长时间不访问该缓存,那么ehcache 就会清除该缓存。

(2)timeToLiveSeconds ,缓存的存活时间,从开始创建的时间算起。

1、配置ehcache.xml文件

2、在web.xml配置文件中配置过滤器信息

    好了,缓存整个页面看上去是非常的简单,甚至都不需要写一行代码,只需要几行配置就行了,够简单吧,虽然看上去简单,但是事实上内部实现却不简单哦,有兴趣的话,大家可以看看SimplePageCachingFilter 继承体系的源代码。

缓存首页(整个页面)示例:

01 < filter >
02         < filter-name > indexCacheFilter </filter-name >
03         < filter-class >
04             net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter
05         </filter-class >
06 </filter >  
07 < filter-mapping >
08         < filter-name > indexCacheFilter </filter-name >
09         < url-pattern > *index.action </url-pattern >
10 </filter-mapping >

 缓存首页的部分内容时,需要使用SimplePageFragmentCachingFilter 这个filter 。如:  

01 < filter >
02         < filter-name > indexCacheFilter </filter-name >
03         < filter-class >
04             net.sf.ehcache.constructs.web.filter.SimplePageFragmentCachingFilter
05         </filter-class >
06 </filter >  
07 < filter-mapping >
08         < filter-name > indexCacheFilter </filter-name >
09         < url-pattern > */index_right.jsp </url-pattern >
10 </filter-mapping >

这个jsp 需要被jsp:include 到其他页面,这样就做到的局部页面的缓存。这一点貌似没有oscache 的tag 好用。

缓存之EHCache(二)相关推荐

  1. Spring Boot 揭秘与实战(二) 数据缓存篇 - EhCache

    文章目录 1. EhCache 集成 2. 源代码 本文,讲解 Spring Boot 如何集成 EhCache,实现缓存. 在阅读「Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门 ...

  2. 缓存工具EhCache使用

    一.缓存工具EhCache EhCache是一种广泛使用的开源Java分布式缓存.主要面向通用缓存, JavaEE和轻量级容器.可以和大部分Java项目无缝整合,例如: Hibernate中的缓存就是 ...

  3. 三大缓存框架ehcache、memcache和redis的介绍

    三大缓存框架ehcache.memcache和redis的介绍 2016-04-12 架构说 4964 阅读 最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存 ...

  4. Spring 3.1:缓存和EhCache

    如果在网上查找使用Spring 3.1内置缓存的示例,那么通常会碰到Spring的SimpleCacheManager ,Spring的家伙说这对"用于测试或简单的缓存声明很有用" ...

  5. 缓存系列之二:CDN与其他层面缓存

    缓存系列之二:CDN与其他层面缓存 一:内容分发网络(Content Delivery Network),通过将服务内容分发至全网加速节点,利用全球调度系统使用户能够就近获取,有效降低访问延迟,提升服 ...

  6. Java的进程内缓存框架:EhCache (转)

    EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种缓存 ...

  7. Hibernate缓存和ehcache

    缓存的概念 计算机领域非常通用的概念.它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能.缓存中的数据是存储源 ...

  8. 缓存之EHCache

    转载自 http://blog.csdn.net/l271640625/article/details/20528573 一.简介 非常简单,而且易用.     ehcache 是一个非常轻量级的缓存 ...

  9. springMVC集成缓存框架Ehcache

    概述 Ehcache算是当前比较流行的缓存框架,使用缓存可以极大的缓解服务器和数据库的压力,提高访问效率,提高服务器的并发能力.接下来我们看怎么把缓存在spring mvc种使用起来. 详细 代码下载 ...

最新文章

  1. 关于Java“回调”的详细理解及使用
  2. 1分钟解决VS每次运行都显示“正在还原nuget程序包”问题
  3. java日志统一集成的两种方案
  4. 画单自由度系统传递函数(实频,虚频,幅频,相位,导纳)
  5. java中main函数的String[] args
  6. mitdump爬取当当网APP图书目录
  7. ASP.NET Core on K8S学习初探(1)
  8. ef生成mysql字段注释_EFcore+MySql 数据迁移的时候,怎么给表结构加注释?
  9. Ubuntu下ADSL配置
  10. PyQt5-使用QDialog显示通用对话框
  11. java流水号_Java生成流水号
  12. CAD转换PDF文件失败,打开后内容是空白的
  13. 微信企业号回调模式 java_java微信企业号开发之开发模式的开启
  14. Flutter | 和小老弟一起玩转Widget
  15. html 点击选择变色,css实现选中后变色并且效果不消失
  16. mac文本编辑写html5代码,BBEdit For Mac v13.5.5 专业的的文本和HTML编辑器
  17. html表白程序源码 html生日快乐网站制作 HTML生日快乐代码 表白程序源码html 程序员表白代码html
  18. 解决Android虚拟机启动时System UI isn‘t responding错误
  19. OpenGL的图形渲染过程
  20. 优化版GM后台包站系统+码支付/代理/84个GM游戏

热门文章

  1. 最简单的基于FFmpeg的AVDevice例子(读取摄像头)
  2. 重载-运算符(感觉怪怪的)
  3. C++Template 模版的本质
  4. 不需要SFU实现WebRTC联播实践
  5. Java基础之正则表达式
  6. GC之7大垃圾收集器详解(上)
  7. 威胁情报大会直击 | 企业IT部王森:腾讯企业终端安全管理最佳实践
  8. 无锁链表的c++实现
  9. undefined: resolver.BuildOption undefined: resolver.ResolveNowOption 报错的解决办法
  10. Centos: 解决系统编码 locale 的报错 LC_CTYPE / LC_ALL 问题