- 浏览: 244421 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
jiangmin0021:
看不到 图片啊 亲 可以把文档发我邮箱吗?谢谢你了 4 ...
GT-P7300刷机打电话 -
justboy1987:
看不到图片 发我下邮箱吧 175636422@qq.com ...
GT-P7300刷机打电话 -
wo107504944:
真的可以吗
GT-P7300刷机打电话 -
hoversong:
solr-*.*.*.war放到tomcat的webapps下 ...
Can't find resource 'solrconfig.xml' in classpath or 'solr\.\conf/' -
comsci:
最有可能大规模应用的神经网络技术应该是这样的,我猜想的 ...
自然语言处理--从规则到统计
在OSCache组件中提供了一个CacheFilter用于实现页面级的缓存,主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的压力,而且对于减少web服务器的性能消耗有很显著的效果。
这种功能的实现是通过在web.xml中进行配置来决定缓存哪一个或者一组页面,而且还可以设置缓存的相关属性,这种基于配置文件的实现方式对于J2EE来说应该是一种标准的实现方式了。
[注] 只有客户访问时返回http头信息中代码为200(也就是访问已经成功)的页面信息才能够被缓存。
修改web.xml,增加如下内容,确定对/testContent.jsp页面进行缓存。
<filter> <filter-name>CacheFilter</filter-name> <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class> <init-param> <param-name>time</param-name> <param-value>600</param-value> </init-param> <init-param> <param-name>scope</param-name> <param-value>session</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheFilter</filter-name> <!-对所有jsp页面内容进行缓存--> <url-pattern>*.jsp</url-pattern> </filter-mapping> |
在页面级缓存的情况下,可以通过设置CacheFilter的初始属性来决定缓存的一些特性:time属性设置缓存的时间段,默认为3600秒,可以根据自己的需要只有的设置,而scope属性设置,默认为application,可选项包括application、session。
二、缓存页面的部分
1、OSCache标签库配置
(1) 从src\webapp\WEB-INF\classes或etc目录取得soscache.tld文件,放在CLASSPATH下(src根目录或发布环境的/WEB-INF/classes 目录)。该文件定义了OSCache的定义。
(2) 将下列代码加入web.xml文件中:
<taglib> |
2、cache标签
这是OSCache提供的标签库中最重要的一个标签,包括在标签中的内容将应用缓存机制进行处理,处理的方式将取决于编程者对cache标签属性的设置。
第一次请求到达时,标签中的内容被处理并且缓存起来,当下一个请求到达时,缓存系统会检查这部分内容的缓存是否已经失效,主要是以下几项:
(1)缓存时间超过了cache标签设置的time或者duration属性规定的超时时间
(2)cron属性规定的时间比缓存信息的开始时间更晚
(3)标签中缓存的内容在缓存后又被重新刷新过
(4)其他缓存超期设定
如果符合上面四项中的任何一项,被缓存的内容视为已经失效,这时被缓存的内容将被重新处理并且返回处理过后的信息,如果被缓存的内容没有失效,那么返回给用户的将是缓存中的信息。
cache标签的常用属性说明:
key |
标识缓存内容的关键词。在指定的作用范围内必须是唯一的。默认的key是被访问页面的URI和后面的请求字符串。可以在同一个页面中使用很多cache标签而不指定他的key属性,这种情况下系统使用该页面的URI和后面的请求字符串,另外再自动给这些key增加一个索引值来区分这些缓存内容。但是不推荐采用这样的方式。 |
scope |
缓存发生作用的范围,可以是application或者session。默认为application。 |
time |
缓存内容的时间段,单位是秒,默认是3600秒,也就是一个小时,如果设定一个负值,那么这部分被缓存的内容将永远不过期。 |
duration |
指定缓存内容失效的时间,是相对time的另一个选择,可以使用简单日期格式或者符合USO-8601的日期格式。如:duration='PT5M' duration='5s'等。 |
cron |
指定缓存内容失效表达式,见“Cron表达式基本语法”。 |
refresh |
false 或者true。如果refresh属性设置为true,不管其他的属性是否符合条件,这部分被缓存的内容都将被更新,这给编程者一种选择,决定什么时候必须刷新。 |
mode |
如果不希望被缓存的内容增加到给用户的响应中,可以设置mode属性为"silent"。此时被缓存的部分不在页面上显示,而其它任意的mode属性值都会将缓存的部分显示到页面上。 |
groups |
指定当前cache标签所属的组,可使用“,”分割组名。这样就可以对缓存项进行分组了。如果缓存项依赖于应用的其它部分或其它数据,分组就有了用武之地——当这种依赖改变时(刷新相关的组),这个组的所有缓存项都将过期。 |
language |
使用ISO-639定义的语言码来发布不同的缓存内容(under an otherwise identical key)。要在一个多语言网站上同一段JSP代码不同用户的参数提供不同的语言时,这个属性会很有用。 |
refreshpolicyclass |
指定自定义的刷新策略类的全限定类名。这个类继承自com.opensymphony.oscache.web.WebEntryRefreshPolicy |
refreshpolicyparam |
指定任意需要传给refreshpolicyclass的参数。如果没有指定refreshpolicyclass,则这个值不起作用。 |
这些属性可以单独使用,也可以根据需要组合使用。
3、Cron表达式基本语法
通过Cron表达式我们可以很灵活的设置缓存的失效时间,Cron表达式包括5个字段分别为Minute,Hour, DOM(Day Of Month), Month,DOW(Day Of Week)。他们顺序地对应了5个位置。当某个位置上的值为*时,表示该位置上的任意时间。另外还提供了指定时间的操作符号"-",",","/",他们分别表示一段时间范围,具体的时间,以及递增的时间段。下面是几个例子说明一下Cron表达式的基本应用:
(1) "10/20 * * * *" :因是第一个位置,并且是一个递增的表达式,所以表达式指定的是每个小时的第10分钟,第30分钟,第50分钟缓存内容失效。
(2) "* 8-18/4 * * *" :指定每天早上8点到晚上6点之间,每4个小时缓存内容失效。 等同于"* 8,12,16 * * *"。
(3) "* * * * 1-5":表示每个星期一到星期五内容失效。
4、Cache标签实例分析
(1) 最简单的cache标签用法。使用默认的关键字来标识cache内容,超时时间是默认的3600秒。
<oscache:cache> |
<oscache:cache key="foobar" scope="session"> |
<oscache:cache key="<%= product.getId() %>" time="1800" refresh="<%= needRefresh %>"> |
<oscache:cache time="-1"> |
<oscache:cache duration='PT5M'> |
<oscache:cache mode='silent'> |
5、flush标签
这个标签用于在运行时刷新缓存。只有运行flush标签后再次访问相关缓存项时才执行刷新。
属性说明:
scope[all] |
指定要刷新的范围。可选的值是"application", "session" 和 nul。null(到底是null量还是all呀)值指定刷新所有的缓存(是指使用cache标签的缓存)。 |
key |
当指定了scope和key值时,刷新唯一的缓存项。当这个缓存项下次被访问时将被刷新。只指定一个key值而没有指定scope不起作用。 |
group |
指定一个组时将刷新所有这个组中的缓存项。只指定一个group值而没有指定scope不起作用。 |
pattern |
任意包含pattern属性指定的值的缓存项都将被刷新。只指定一个pattern值而没有指定scope不起作用。 (注意:OSCache项目组已经不赞成使用pattern这个属性赖刷新缓存,二是鼓励使用具有更好的灵活性和性能的group属性来代替) |
use |
告诉所在的<cache>标签是否使用已经缓存的内容(缺省为true,使用缓存的内容)。可以使用这个标签来控制缓存。比如使用<frush>标签刷新某个key的缓存,但可以在必要的地方即使这样的强制刷新也仍然使用缓存内容而不刷新。 |
- 基于OSCache的页面缓存_-_blog_Toby_-_BlogJava.zip (73.3 KB)
- 下载次数: 82
发表评论
-
将博客搬至CSDN
2013-07-22 13:46 759(为了确认是您本人在申请搬家,请在原博客发表一 篇标题为《将博 ... -
MahoutDriver运作机制-mahout源码学习及总结
2013-05-28 22:19 1597欢迎喜欢深入了解推荐 ... -
mahout推荐引擎相似度计算之皮尔逊相关性
2013-05-28 22:15 2528欢迎喜欢深入了解推荐 ... -
关于使用html生成pdf
2012-05-20 17:17 1725最近女朋友要通过html生成pdf文档,笨笨不爱思考的她直接求 ... -
将WIN8装入U盘和移动硬盘教程
2012-03-02 19:46 2602在前面得文章里我 ... -
java.lang.IncompatibleClassChangeError: Implementing class
2011-10-19 10:24 4289最近在学习maven和顺便玩玩注解,但是在把hibernate ... -
枚举类型总结(转)
2011-10-08 16:44 1166DK1.5引入了新的类型——枚举。在 Java 中 ... -
struts2.1.8以上版本使用json出现TextUtils 未定义问题
2011-09-29 11:07 1211将struts2升级到2.1.8或者以上版本后,发现跟JSON ... -
Log4j使用完全手册(转载)
2011-09-22 13:19 1000Log4J是Apache的一个开放源代码项目(http://l ... -
[GoogleCode] code.google.com查看项目密码被重置解决
2011-09-20 09:17 1614[GoogleCode] code.google.com查 ... -
Missing indirectly referenced artifact com.sun:tools:jar:1.5.0:system 4种解决方案
2011-09-15 15:39 4619eclipse中pom.xml配置文件第一行错误,错误 ... -
maven打包必须执行的几步操作
2011-08-24 15:02 1879maven在执行打包的过程中必须进行的几步 re ... -
ThreadPoolExecutor eclips debug时问题解决
2011-08-18 16:55 1897我们在使用eclips Idedebug模式开发的时候当我们修 ... -
线程心得
2011-06-09 14:38 873isActive检查一个线程是不是互动状态,不活动状态有 ... -
用Eclipse远程调试(Remote debug)Tomcat
2011-05-19 14:00 1985用Eclipse远程调试(Remote debug)Tomca ... -
让window.close不提示:您查看的网页正在试图关闭窗口
2011-05-17 15:21 1852当我们在打开的窗口通过window.close关闭窗口时有时会 ... -
Cookie介绍和应用
2011-05-04 15:45 1132在Servlet中显示地设置和读取Cookie 一,什么 ... -
Javascript - 全面理解 caller,callee,call,apply
2011-05-03 14:01 10111、caller JScript参考中说明为:返回一 ...
相关推荐
Rocky Linux 8.10内核包
内容概要:本文档详细介绍了如何在Simulink中设计一个满足特定规格的音频带ADC(模数转换器)。首先选择了三阶单环多位量化Σ-Δ调制器作为设计方案,因为这种结构能在音频带宽内提供高噪声整形效果,并且多位量化可以降低量化噪声。接着,文档展示了具体的Simulink建模步骤,包括创建模型、添加各个组件如积分器、量化器、DAC反馈以及连接它们。此外,还进行了参数设计与计算,特别是过采样率和信噪比的估算,并引入了动态元件匹配技术来减少DAC的非线性误差。性能验证部分则通过理想和非理想的仿真实验评估了系统的稳定性和各项指标,最终证明所设计的ADC能够达到预期的技术标准。 适用人群:电子工程专业学生、从事数据转换器研究或开发的技术人员。 使用场景及目标:适用于希望深入了解Σ-Δ调制器的工作原理及其在音频带ADC应用中的具体实现方法的人群。目标是掌握如何利用MATLAB/Simulink工具进行复杂电路的设计与仿真。 其他说明:文中提供了详细的Matlab代码片段用于指导读者完成整个设计流程,同时附带了一些辅助函数帮助分析仿真结果。
内容概要:该题库专为研究生入学考试计算机组成原理科目设计,涵盖名校考研真题、经典教材课后习题、章节题库和模拟试题四大核心模块。名校考研真题精选多所知名高校的计算机组成原理科目及计算机联考真题,并提供详尽解析,帮助考生把握考研命题趋势与难度。经典教材课后习题包括白中英《计算机组成原理》(第5版)和唐朔飞《计算机组成原理》(第2版)的全部课后习题解答,这两部教材被众多名校列为考研指定参考书目。章节题库精选代表性考题,注重基础知识与重难点内容,帮助考生全面掌握考试大纲要求的知识点。模拟试题依据历年考研真题命题规律和热门考点,精心编制两套全真模拟试题,并附标准答案,帮助考生检验学习成果,评估应试能力。 适用人群:计划参加研究生入学考试并报考计算机组成原理科目的考生,尤其是需要系统复习和强化训练的学生。 使用场景及目标:①通过研读名校考研真题,考生可以准确把握考研命题趋势与难度,有效评估复习成效;②通过经典教材课后习题的练习,考生可以巩固基础知识,掌握解题技巧;③通过章节题库的系统练习,考生可以全面掌握考试大纲要求的各个知识点,为备考打下坚实基础;④通过模拟试题的测试,考生可以检验学习成果,评估应试能力,为正式考试做好充分准备。 其他说明:该题库不仅提供详细的题目解析,还涵盖了计算机组成原理的各个方面,包括计算机系统概述、数据表示与运算、存储器分层、指令系统、中央处理器、总线系统和输入输出系统等。考生在使用过程中应结合理论学习与实践操作,注重理解与应用,以提高应试能力和专业知识水平。
__UNI__DB9970A__20250328141034.apk.1
rust for minio
国网台区终端最新规范
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
一个简单的机器学习代码示例,使用的是经典的鸢尾花(Iris)数据集,通过 Scikit-learn 库实现了一个简单的分类模型。这个代码可以帮助你入门机器学习中的分类任务。
pyqt离线包,pyqt-tools离线包
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
SQL常用日期和时间函数整理及在sqlserver测试示例 主要包括 1.查询当前日期GETDATE 2.日期时间加减函数DATEADD 3 返回两个日期中指定的日期部分之间的差值DATEDIFF 4.日期格式转换CONVERT(VARCHAR(10),GETDATE(),120) 5.返回指定日期的年份数值 6.返回指定日期的月份数值 7.返回指定日期的天数数值
GSDML-V2.3-Turck-BL20_E_GW_EN-20160524-010300.xml
T_CPCIF 0225-2022 多聚甲醛.docx
《基于YOLOv8的智能仓储货物堆码倾斜预警系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
蚕豆脱壳机设计.zip
台区终端电科院送检文档
Y6一39一No23.6D离心通风机 CAD().zip
django自建博客app
台区终端电科院送检文档
非开挖水平定向钻机动力头装置设计.zip