- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/**
*作者:张荣华
*日期:2007-9-26
**/
关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80%的时间内都在访问20%的数据,那么,这时候就应该使用缓存了。这个和长尾理论正好相悖,其实也不是相悖,只是不同的理论使用的场景不同。在80/20原则生效的地方,我们都应该考虑是否可以使用缓存。但即使是这样,缓存也有不同的用法,举个例子,一个网站的首页估计是被访问的次数最多的,我们可以考虑给首页做一个页面缓存,而如果在某个页面上,比如说javaeye的java版区只有前几个页面是访问最频繁的,(假设javaeye是使用hibernate,当然这只是假设,我们都知道javaeye是使用ror开发的)那么我们就可以考虑给java版区的record做二级缓存了,因为二级缓存中是按照对象的id来保存的,所以应该来说这前面几页使用的对象会一直存在于缓存之中(如何使用hibernate的二级缓存坛子上也有介绍)。由此可见不同的页面的缓存策略有可能有天壤之别。
本文的目的就是上面所讲的两种情况之一,页面缓存。毫无疑问,几乎所有的网站的首页都是访问率最高的,而首页上的数据来源又是非常广泛的,大多数来自不同的对象,而且有可能来自不同的db,所以给首页做缓存是一个不错的主意,那么主页的缓存策略是什么样子的呢,我认为应该是某个固定时间之内不变的,比如说2分钟更新一次。那么这个缓存应该做在什么地方呢,让我们来看一下,假设您的应用的结构是filter-action-service-dao-db,这个过程中的-的地方都是可以做缓存的地方,根据页面缓存的特征,应该把页面缓存做到尽量靠近客户的地方,就是在page和filter之间,这样的优点就是第一个用户请求之后,页面被缓存,第二个用户再来请求的时候,走到filter这个请求就结束了,无需再走后面的action-service-dao-db。带来的好处是服务器压力的减低和客户段页面响应速度的加快。
那么我们来看一下如何使用ehcache做到这一点。
在使用ehcache的页面缓存之前,我们必须要了解ehcache的几个概念,
1 timeToIdleSeconds,多长时间不访问该缓存,那么ehcache就会清除该缓存。
2 timeToLiveSeconds,缓存的存活时间,从开始创建的时间算起。
看到这里,我们知道,首页的页面缓存的存活时间,我们定的是2分钟,那么也就是说我们的timeToLiveSeconds应该设置为120,同时我们的timeToIdleSeconds最好也设置为2分钟,或者大于2分钟。我们来看一下下面这个配置,这个配置片段应该放到ehcache.xml中:
cache name=SimplePageCachingFilter
maxElementsInMemory=10
maxElementsOnDisk=10
eternal=false
overflowToDisk=true
diskSpoolBufferSizeMB=20
timeToIdleSeconds=10
timeToLiveSeconds=10
memoryStoreEvictionPolicy=LFU
/
SimplePageCachingFilter是缓存的名字,maxElementsInMemory表示内存中SimplePageCachingFilter缓存中元素的最大数量为10,maxElementsOnDisk是指持久化该缓存的元素到硬盘上的最大数量也为10(),eternal=false意味着该缓存会死亡。overflowToDisk=true意思是表示当缓存中元素的数量超过限制时,就把这些元素持久化到硬盘,如果overflowToDisk是false,那么maxElementsOnDisk的设置就没有什么意义了。memoryStoreEvictionPolicy=LFU是指按照缓存的hit值来清除,也就是说缓存满了之后,新的对象需要缓存时,将会将缓存中hit值最小的对象清除出缓存,给新的对象腾出地方来了(文章最后有ehcache中自带的3种缓存清空策略的介绍)。
接着我们来看一下SimplePageCachingFilter的配置,
filter
filter-nameindexCacheFilter/filter-name
filter-class
net.sf.ehcache.constructs.web.filter.SimplePageCachingFilt
您可能关注的文档
- 2011.11风格讲座.ppt
- 2011东北三省四市教研联合体等值模拟试卷理科答案整理+-+...doc
- 2011中国两会热点前瞻.doc
- 2011中国房产开发商各项10强榜单.doc
- 2011中国玉林(香港)招商推介会致辞.doc
- 2011中级.doc
- 2011中建史总复习.doc
- 2011中建史复习.doc
- 2011中考必备古诗文 3.24更新.doc
- 2011依法行政大会领导讲话.doc
- 普通地质学-舒良树-各章作业习题及答案-1(1)之令狐文艳创作.doc
- 特殊儿童自我控制能力的培养研究教学研究课题报告.docx
- 主要知识点复习-2024-2025学年统编版道德与法治八年级上册.docx
- 从实际问题出发的小学数学问题设计研究教学研究课题报告.docx
- 多元智能理论在初中教育中的应用探索教学研究课题报告.docx
- 如何提高青少年的心理韧性与抗压能力教学研究课题报告.docx
- 小学数学评估方法的创新与实践教学研究课题报告.docx
- 基于核心素养的探究式学习方式研究教学研究课题报告.docx
- 教育公平与教育改革的结合探讨教学研究课题报告.docx
- 初中音乐教育对学生审美能力的提升教学研究课题报告.docx
最近下载
- 2024年新版员工安全生产应知应会手册.pptx
- 薯蓣丸JT叔叔解析..doc VIP
- 高中历史思维导图.pdf VIP
- 高中地理必修二的基础知识点总结.doc VIP
- 拉森钢板桩施工方案.doc VIP
- 2024年深入学习贯彻《全国党政领导班子建设规划纲要(2024-2028年)》心得体会研讨发言材料与解读材料【两份】.docx VIP
- 联想G405bios详解.ppt VIP
- 2024年第十三届职工职业技能大赛数控铣工理论考试题库(含答案).pdf VIP
- SWITCH塞尔达传说旷野之息-1.6金手指127项修改使用说明教程.docx
- 兵器工业集团第十一届职业技能竞赛(引信装试工赛项)理论试题库资料-下(多选、判断题汇总).pdf VIP
文档评论(0)