传智播客——巴巴运动网性能优化

今天我们来学习巴巴运动网的性能优化。服务器与数据库频繁地进行交互,给数据库造成很大的压力,会出现数据库的瓶颈(打开页面时间缓慢,数据库报错)。为了避免频繁访问数据库这种情况,我们需要进行性能的优化 1)如果内容更新不是很频繁,我们适合采用网页静态化技术生成内容页面 2)如果内容经常更新(总有一些空闲时间),我们适合使用缓存技术(OSCache,JbossCache等)提供系统性能。3)内容需要实时查看的话,我们比较适合数据源技术(减少跟数据库连接次数)和二级缓存技术(不能使用update语句,update语句不会更新二级缓存里面的数据)。巴巴运动网运用到了以上三种技术,我们采用Velocity(模板技术)来实现页面的静态化和使用OSCache来实现页面的缓存。下面我们首先对Velocity技术的学习:

1.Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象

2.Velocity的应用:

1)加入Velocity需要的Jar文件velocity-1.6-dep.jar/lib/log4j-1.2.12.jar

2)配置Velocity:类路径下加入velocity.properties

3)编写应用实例

3.Velocity需要对日期进行格式化时,需要加入Jar文件velocity-tools-generic-1.4.jar

4.得到项目的根目录路径:new File(“”).getAbsolutePath()

5.null处理:在$后添加!号,如:$!title

下面我们来学习一下OSCache技术:

1. OSCache是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能

2.OSCache的配置:

1)加入OSCache需要的Jar文件oscache.jar/lib/commons-logging.jar

2)把oscache安装目录下的/etc/oscache.properties 文件放入 /WEB-INF/classes目录.开发阶段,我们可以把该文件放置在src目录

3.使用OSCache作页面局部缓存

①标签<cache></cache>来进行页面的局部缓存

②缓存的key将以请求的URI+查询字串组成,缓存默认存放在application范围,缓存时间默认1小时

③可以通过scope属性设置缓存的存放范围,time属性设置缓存的存放时间,refresh属性设置缓存内容过期是否清除

<cache:flush scope="application" />清除application范围内的所有缓存

4. 使用OSCache作页面全局缓存

页面全局缓存将使用Filter实现:

<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>60</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>*.jsp</url-pattern>

</filter-mapping>

 

缓存的key将以请求的URI+查询字串组成,如果你访问/oscache/index.jsp?name=ttt/oscache/index.jsp?name=ppp将得到两份缓存。缓存是在初次访问页面时进行的,后续的请求将会返回缓存中的内容。缓存中存放的内容为页面返回给用户的html源代码。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值