查看: 5007|回复: 0
打印 上一主题 下一主题

七种缓存使用武器 为网站应用和访问加速

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-4 22:41:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
Web应用中缓存的七种武器:

1 数据库的缓存


通常数据库都支持对查询结果的缓存,并且有复杂的机制保证缓存的有效性。对于MySQL,Oracle这样的数据库,通过合理配置缓存对系统性能带来的提升是相当显著的。


2 数据连接驱动的缓存。


诸如PHP的ADODB,J2EE的连接驱动,甚至如果把HIbernate等ORM也看成连接器的话。这里的缓存有效机制就不是那么强了,使用此步的方法实现缓存的一个最好的优点就是我们取数据的方式可以保持不变。例如,我调用
$db->CacheGetAll("select * from table"); 的语句不需要改变,可以透明实现缓存。这主要应用于一些变化不大的数据上,例如一些数据字典是不经常变化的。


3 系统级的缓存


可以在系统内通过Cache库,自行对需要的数据进行缓存,例如一个树桩菜单生成十分消耗资源,那可以将这个生成的树缓存起来。这样做的缺点是,当这颗树的某些地方被更新时,你需要手动更新缓存内的东西。使用的缓存库都可以有不同的缓存方法,有的把内容放在硬盘上,有的放在内存里面,如果你把内容模拟成硬盘来缓存,速度当然也能提升不少。

4 页面级的缓存

这个在内容管理系统里面用的最多。也就是生成静态页面。这里面缓存控制机制最为复杂,一般也没有什么包治百病的方法,只有具体情况具体分析。通常生成的静态叶面你需要有一个机制去删除过时的,或访问很少的叶面,以保证检索静态叶面的速度。

5 使用预编译叶面和加载为FastCGI的办法

对于PHP,可以使用zend等编译引擎,对于JSP本身就是预编译。而FastCGI的原理就是将脚本预先加载起来,不用每次执行都去读,这和JSP预编成Servlet,然后加载的道理是一样的。


6 前置缓存

可以使用Squid作为Web服务器的前置缓存。

7 做集群

对数据库作集群,对web服务器作集群,对Squild前置机做集群。


对于新手来说,如果你的程序要是恰死,首先你要检查代码是否有错误,是否存在内存泄漏,如果都没有,那么通常问题出在数据库连接上面。

综合应用上面的缓存方法,开发高负载的Web应用成就很容易了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表