之前做的项目面临一个优化的问题..对于一些网站类型的项目.我们可以采取的方案就是减少和数据库方面的交换..这样我们可以使用缓存..由于项目使用Hibernate已经使用了Ehcache的2级缓存..这里可以在web层上使用oscache来进行缓存
oscache下载地址
http://www.opensymphony.com/oscache/download.action
需要的jar包有:oscache.jar和lib\commons-logging.jar
开发过程中需要将oscache.properties放在src下面.
oscache又分为局部缓存和全局缓存.先介绍几个局部缓存比较常用的标签
1.缓存的key将以请求的uri+查询字符串组成.如果你访问
oscache/index.jsp?name=xxx和
oscache/index.jsp?name=ppp
将得到两份缓存。缓存默认存放在application范围.缓存时间默认3600秒.即一个小时
2.这时候缓存将以name为key。不再以请求的uri+查询字符串组成,所有如果你访问
oscache/index.jsp?name=xxx和oscache/index.jsp?name=ppp
将得到一份缓存
<cache:cache key="name">
name=${param.name}
</cache:cache>
3.缓存范围设置为session。这时候缓存保持的用户的session中.如果用户关闭浏览器.再重新打开一个新浏览器.
原来的缓存内容将不存在
<cache:cache key="name" scope="session">
name=${param.name}
</cache:cache>
4.下面设置缓存时间为10秒,超过10秒后,缓存内容将消失掉.
<cache:cache key="name" time="10">
name=${param.name}
</cache:cache>
5.refresh为true将导致缓存内容过期被清除.简单地说.该属性为true用于清除缓存
<cache:cache key="name" time="60" refresh="${param.refresh}">
name=${param.name}
</cache:cache>
局部缓存清理缓存方式:
人为管理缓存<flush>标签
<cache:flush scope="application" />
清除application范围内的缓存
<cache:flush scope="session" />
清除session范围内的缓存
<cache:flush scope="application" group="currencvData"/>
清除application范围内组名为currencvData的所有缓存
而局部缓存的名字重复的话后面添加到缓存将取代前面的缓存.所以命名过程中需要有规范.
下面是全局缓存的介绍.这里只需要在web.xml进行配置就可以使用到全局缓存
<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>7200</param-value>
</init-param>
<init-param>
<param-name>scope</param-name>
<param-value>application</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>/xxx/*</url-pattern>
</filter-mapping>
全局缓存是对整个页面的url地址为key缓存相应的页面.
所以在使用全局缓存之前我们需要考虑清楚哪些页面的url我需要缓存的.在定义action的过程中需要考虑请求url的名字的命名..
<url-pattern>/xxx/*</url-pattern>
总结:在许多网站中都使用了缓存技术.而oscache使用面也比较广..使用方式根据个人的项目而定..我只是将自己了解总结一下..还有在了解许多工具和开源框架中发现许多东西都要有明确的命名规范和规定..在我们项目开发中也需要更多的规范和约束才能使得项目更好的运作..感觉开源框架也是别人所写的项目..我们可以从中得到许多信息..
分享到:
相关推荐
Oscache使用教程,基础教程。详细介绍几本原理以及几本配置。
OSCache使用文档OSCache使用文档OSCache使用文档OSCache使用文档OSCache使用文档OSCache使用文档OSCache使用文档OSCache使用文档OSCache使用文档
OSCache是OpenSymphony这个开源项目众多Projects中的一个。他是一个高效的J2EE缓存框架,能够很好的解决动态网站速度的问题。
Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的...OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。。。。
OSCache是当前运用最广的缓存方案, Hibernate,jsp,页面等都对其有支持,下面简单介绍一下OSCache的配置和使用过程
缓存框架oscache 的使用实例和详细解释,
OSCache由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决...
这里结合 天气预报的webservice 展示了OsCache框架的具体使用方法 项目可直接运行 ,代码简洁清晰
oscache-2.1.jar oscache-2.1.jar
oscache,java,缓存机制的使用
oscache缓存使用总结
javaweb做页面缓存常用,OSCache是一个工业级的J2EE缓存实现。OSCache不但能缓存java对象,还可以缓存页面,http请求和二进制内容,例如pdf文件等。通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善...
使用oscache进行缓存,大大提高web系统运行效率
1、OSCache是什么? 2、OSCache的特点 3、有关“用OSCache进行缓存对象”的研究
oscache-java缓存框架插件和安装教程,使用教程一步到位
oscache的详细文档,很easy,好好用。
OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的...
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存...
oscache缓存技术入门实例