您当前的位置: 首页 > 网站编程 > ASP教程 > Web应用中缓存的七种武器

Web应用中缓存的七种武器

作者:不详 来源:网络 发布时间: 2010-08-16 22:44 点击:
1数据库的缓存 通常数据库都支持对查询结果的缓存,并且有复杂的机制保证缓存的有效性。对于MySQL,Oracle这样的数据库,通过合理配置缓存对系统性能带来的提升是相当显著的。 2数据连接驱动的缓存。 诸如php的ADODB,J2EE的连接驱动,甚至如果把HIbernate等ORM也看成连

Web应用中缓存的七种武器

  1数据库的缓存
  
  通常数据库都支持对查询结果的缓存,并且有复杂的机制保证缓存的有效性。对于MySQL,Oracle这样的数据库,通过合理配置缓存对系统性能带来的提升是相当显著的。
  
  2数据连接驱动的缓存。
  
  诸如php的ADODB,J2EE的连接驱动,甚至如果把HIbernate等ORM也看成连接器的话。这里的缓存有效机制就不是那么强了,使用此步的方法实现缓存的一个最好的优点就是我们取数据的方式可以保持不变。例如,我调用
  
  $db->CacheGetAll(“select*fromtable”);的语句不需要改变,可以透明实现缓存。这主要应用于一些变化不大的数据上,例如一些数据字典是不经常变化的。
  
  3系统级的缓存
  
  可以在系统内通过Cache库,自行对需要的数据进行缓存,例如一个树桩菜单生成十分消耗资源,那可以将这个生成的树缓存起来。这样做的缺点是,当这颗树的某些地方被更新时,你需要手动更新缓存内的东西。
  
  使用的缓存库都可以有不同的缓存方法,有的把内容放在硬盘上,有的放在内存里面,如果你把内容模拟成硬盘来缓存,速度当然也能提升不少。
  
  4页面级的缓存
  
  这个在内容管理系统里面用的最多。也就是生成静态页面。这里面缓存控制机制最为复杂,一般也没有什么包治百病的方法,只有具体情况具体分析。
  
  通常生成的静态叶面你需要有一个机制去删除过时的,或访问很少的叶面,以保证检索静态叶面的速度。
  
  5使用预编译叶面和加载为FastCGI的办法
  
  对于PHP,可以使用zend等编译引擎,对于jsp本身就是预编译。而FastCGI的原理就是将脚本预先加载起来,不用每次执行都去读,这和JSP预编成Servlet,然后加载的道理是一样的。
  
  6前置缓存
  
  可以使用Squid作为Web服务器的前置缓存。
  
  7做集群
  
  对数据库作集群,对web服务器作集群,对Squild前置机做集群
  
  对于新手来说,如果你的程序要是恰死,首先你要检查代码是否有错误,是否存在内存泄漏,如果都没有,那么通常问题出在数据库连接上面。
  
  综合应用上面的缓存方法,开发高负载的Web应用成就很容易了。

分享到:
本文"Web应用中缓存的七种武器"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4