OSCache在web开发中的应用

OSCache是OpenSymphony项目中的高效J2EE缓存框架,能有效提升动态网站速度。本文介绍其解决动态网站缓存问题的方法,如缓存动态内容、二进制文件及容错处理,并提供使用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

OSCache简介

 


OSCache是OpenSymphony这个开源项目众多Projects中的一个。他是一个高效的J2EE缓存框架,能够很好的解决动态网站速度的问题。下面来
看下OSCache解决了动态网站的哪些令人郁闷的问题。
1.缓存动态内容:其实我们的动态网页上一般只有一部分是动态的(表头,表尾一般是不变的),如果我们缓存整个网页显然不成,因为有部分是
随着请求有可能变的。OSCache提供的方式是允许我们只缓存一部分网页。

2.缓存2进制内容:产生的图片和PDF文件在服务器加载的时候非常的耗时。OSCache解决这个问题是通过一个Servlet2.3的缓存过滤功能,然后能
够缓存任意的URI(比如一个完整的页面或者是一个产生的图片/PDF文件)

3.容错:有这种情况或许我们会遇到,就是当一个动态的网页出现错误。即便我们的页面有95%都加载完毕,但就是由于这个错误,整个页面就会
返回错误的提示或页面。OSCache允许我们提供出现错误时的缓存内容,如果出现就适时的提示出来了。

除了上面的这些Servlet的特征外,OSCache完全可以充当任何一个java程序的缓存方案。OSCache 的一般特征如下:
1.缓存任意对象:可以不受限制的缓存JSP的一部分或是Http请求,任何的Java对象都可以被缓存。

2.全面的API:通过API可以完完全全的控制OSCache的任何特性。

3.持久缓存:我们可以把认为重要的数据缓存到硬盘上。

4.支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。

5.缓存记录的过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时)。

 

 

实例1:

 

我们现在的程序是这样的:
程序的静态内容和表单都是html
动态的内容都是一个servlet和一个jsp文件,servlet准备数据放到request里然后forward到jsp
jsp唯一功能就是显示request里面的数据。

现在的问题是有些页面访问数据库量大或者频繁想做一个cache.
我没用过oscache,在网上看了一下基本介绍的都是在jsp文件中加入如下形式的代码

Java代码 复制代码
  1. <cache:cache key="products" scope="session">   
  2.          some jsp content    
  3. </cache:cache>  
<cache:cache key="products" scope="session">
         some jsp content 
</cache:cache>



可是我的动态内容都是在servlet里面访问的数据库,对于动态内容用户只能访问servlet不能直接访问jsp
这样的话用户访问servlet还是要查数据库阿,
想我这种情况该怎么做呢??

 

解决方案:

1.已经找到解决办法 CacheFilter 正好满足我的要求
我就是想把产品列表缓存 弄个filter把那个servlet缓存到application就OK了
正好满足我的要求,我把缓存时间设置成了1小时

后台加入一个产品前台虽然不能立即看到 不过不碍事,增加产品的可能性很小,也不要求时时看到
基本开始的时候就都录入完毕了
2.如果要在首页缓存一个产品列表区块,可以这样子:)

Java代码 复制代码
  1. <cache:cache key="products" scope="session">    
  2. <jsp:include page="product_list.do"/>   
  3. </cache:cache>  

 

 

参考资料:

http://blog.youkuaiyun.com/foxcai/articles/1232293.aspx 
http://zhangxinjie.blog.ccidnet.com/blog-htm-itemid-724397-uid-20630-do-showone-type-blog.html

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值