前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web项目使用缓冲技术提高应用的稳定性及性能

Web项目使用缓冲技术提高应用的稳定性及性能

作者头像
用户1289394
发布2018-02-28 12:05:45
1K0
发布2018-02-28 12:05:45
举报
文章被收录于专栏:Java学习网Java学习网

生活中熟悉的天气预报信息为我们提供了及时的天气信息,给人们带来了很多的便利;从天气数据分析出来到人们看到这之间进行了大量的处理,一个网站显示的天气信息,需要访问服务器进行接口调用才能获取数据;再比如销售数据报表,报表的生成需要数据库花大量的时间进行计算;在Jsp中加入过多的类似这样复杂的信息会导致应用服务器、数据库服务器负荷过重,严重影响性能,甚至导致用户无法正常使用;好在JSP代码块缓冲技术为开发者提供解决方案。

网络配图 虽然JSP能够在标记库内封装和运行复杂的Java代码,使得JSP页面文件更容易维护,使得非专业开发人员使用JSP页面文件更加方便;现在已经有很多开放源代码的产品,但这些产品实现的功能比较简单,不能满足我们需求。方法总比困难多,OSCache标记库,为我们提供的新的思路。 OSCache标记库是由OpenSymphony设计的,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面内实现快速内存缓冲的功能;它不仅为所有用户缓冲现有JSP代码块,而且能够以用户为单位进行缓冲,OSCache还包含了一些提可伸缩性的高级特性,比如:缓冲到磁盘,可编程的缓冲刷新,异常控制等技术实现。 下面了解一下OSCache的工作过程,我们以一个团购网站为例进行说明,网站包括团购交易管理页面、团购类型导航条、各个商家团购数据显示等功能。

网络配图 1、管理功能需要监控交易的情况,数据库服务器需要进行分析计算才能出这样一个数据,没必要进行实时计算,需要间隔一定时间,为了避免管理员每次访问时都重新生成数据;为了实现这一点,我们可以将整个页面封装到一个应用级的缓冲标记之内,这个缓冲标记每隔1小时刷新一次。 代码示例: <%@ taglib uri="cachetags" prefix="cache" %> <cache:cache> .... 交易报表数据.... </cache:cache> 现在管理页面已经实现缓冲了,cache标记的默认缓冲时间是1小时;如果管理员在页面生成后的一个小时之内再次访问同一页面,他看到的将是以前缓存的页面,不需要由数据库服务器再次生成这个报表。 2、用户要求在左边导航条的下方显示购物车内容,显示出用户所购买商品的数量和商品价格。 我们利用会话级的缓冲技术实现这个功能功能; 代码示例: <cache:cache key="navbar" scope="session" time="500"> <% //获取及显示当前的商品价格信息 %> </cache:cache> OSCache库提供的flush标记能够刷新缓冲内容,代码如下: <cache:flush key="navbar" scope="session" /> 当用户下次访问它时,navbar缓冲块将被刷新。 3、商家团购数据显示,我们根据不同类型进行分别缓冲,而且各种类型的缓冲时间完全符合它们各自的信息变化频繁程度。 代码示例: <cache:cache time="600"> <% //查询数据库得到商家销售情况 int auctionCount = .... %> 本网站销售了商品<%=auctionCount%>个! </cache> 今天只是对OSCache有了一个简单的介绍,后续会对它的详细用法进行一一学习;我们只要知道它能帮开发者实现有更高性能的网站;我们能够用它解决一些影响网站响应时间的问题,比如访问量高峰期、数据库服务器负荷过重等。

网络配图 “条条道路通罗马”实现Web缓存不只有OSCache,我们需要根据自己的实际情况决定选择什么样的技术来实现;你的什么技术实现缓存,可以分享出来,大家一起学习哦。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档