never-online 's Tech Blog In CSDN

never online - Everlasting love for angela.

rank liuID:BlueDestiny
148199次访问,排名486好友17人,关注者25
这个家伙很懒, 没有留言作案的证据...
另,貌似我的资料被CSDN出卖了...
BlueDestiny的文章
原创 114 篇
翻译 0 篇
转载 8 篇
评论 223 篇
never-online的公告
Web:
www.never-online.net
Email:
BlueDestiny##126.com
QQ:
77091373
最近评论
ibsrvk:wow power leveling
zyhomepage:支持一下
clicksun:如果要制作纯CSS+DIV的圆角方框图形,可以到这里直接在线制作,什么颜色都可以:http://corner.cha.la
C_SuperMe:可以好好学习一下啊!!
lrh165:我也是拷贝了你的代码,但是内容无法显示,能否给点帮助,谢了先!
lrh165@163.com
文章分类
收藏
相册
icon
JS & DHTML
Dhteumeuleu
Douglas Crockford
Webfx
常去之地
ASP.Net
MSDN英文
XML指南
XML的大本营
博客园
正则表达式
我的网站
我网站的Blog(RSS)
友情链接
KimSoft的blog(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 关于网站(B/S开发中) cache应用(多图)收藏

新一篇: 今天是高考的第一天.... | 旧一篇: 发一个很久以前写CMS时写的一个生成静态页面的类

关于中大型开发b/s开发中的缓存(cache),我的一些看法,有不正确的或者是有笔误的地方,请指正。thanks

首先,应该了解基本的,对于缓存的知识:

Q:如:静态缓存和动态缓存的区别?缓存是什么?

A:缓存,在某个方面简单的说,就是无需与数据库再次交互

静态缓存: 即所说的html,shtml文件。

动态缓存:即所说的把缓存存于服务器的内存中,需要时调用。

他们的区别在哪呢--

静态缓存不用占用负载(服务器的内存),但需要占用服务器的空间(因为生成很多文件),最重要的,是因为生成了静态的缓存,而不利于维护,因为当你设计一个系统的时候,你必须考虑到用这个的后果,应该就像设计模式中所说的,有的模式是灵活的,而有的模式是一开始布署的时候就不变了的。

因此,重申一次,设计时需要小心。考虑尽可能多的东西,如:系统升级后,是否还适用(尽可能的想),是否有利于更换模板,为一些页面添加特殊的或特定的代码,用shtml还是html?等等。

而动态的cache,我想大家都应该知道动网“迷城浪子”写的用application做为cache的class了,这是asp中比较经典的用动态cache的例子。因此我也不用说太多过于application的cache了。他的优点就在于,较静态的cache利于维护和升级。以下是静态缓存与动态缓存示意图

 


A: 何时使用静态缓存和动态缓存呢?
Q:这个要看具体,你是如何布署服务器,以及,你是怎么样设计你的程序与代码的
举个例子:

我的服务器负载量够大,无需考虑内存这里问题,那么你可以较多的使用动态的cache,如新闻的索引页、首页、更多的索引页。而不必再生成静态的。如动易以前的版本(现在的版本我是很清楚,现在的好像是采用了静态的缓存)广泛采用动态的缓存技术。因此在后台更新时,需要手动更新cache,当然这里就可以采用URL rewrite了,更利于Search Engine的收录。提醒一句,这一点也蛮重要的,也是提醒很多的个人架设服务器的朋友,Search Engine并不是非常的友好的
(通常Search Engine的robot在收录的网站的过程中。会一直在爬你的网站,因此,做一个流量访问的系统还是很有必要的,记得cnblog(博客园)的dodo在检测中发现yahoo的robot每分钟爬的次数是google的几倍,这对你的网站速度是某个方面是有影响的,有的时候还很大)

而静态的缓存呢,上面也说到了,不利于维护。但广泛采用的MVC开发方式,把页面与程序很好的分离开来的话,是可以更快的提高,如我下面的图所示。


Q: 还有其它的方式来布署吗?
A: 有。如下所示。采用Proxy的技术来设计,通过代码获得静态cache是否可用,如果可用的话,如果不可用(这里所说的不可用,即是cache不存在,或者已经改动过cache了),则重新生成输出,否则的话,直接输出。




采用动态cache和静态cache的完整示意图,用消息通讯。简单的说明了如何应用cache的布署和应用。当然可以不用Cache Proxy来判断的,去掉cacheproxy也是一样的。

发表于 @ 2006年06月06日 18:56:00|评论(loading...)|编辑

新一篇: 今天是高考的第一天.... | 旧一篇: 发一个很久以前写CMS时写的一个生成静态页面的类

评论

#zhangguangxue 发表于2006-06-22 11:56:00  IP: 211.100.21.*
TrackBack来自《关于网站(B/S开发中) cache应用(多图) 》

关于网站(B/S开发中) cache应用(多图)
#netdust 发表于2006-06-07 08:18:00  IP: 60.212.206.*
good ~~~
#CSDN BLOG编辑 发表于2006-06-08 09:13:00  IP: 218.247.0.*
bluedestiny网友,经过CSDN Blog专家顾问团的合议,您的文章:关于网站(B/S开发中) cache应用(多图) ,成为6月6日的“每日一帖”!请参考下面的提示和我们联系领取奖品事宜,谢谢你向广大CSDN网友分享你的原创文章。

提示:
1.评选时间为周一至周五!
2.请您及时查看和关注您的个人Blog,我们会以评论的形式告诉您获奖的信息。
3.本次活动奖品是由第二书店提供的100个D币,请访问第二书店(www.dearbook.com.cn)激活您的D币帐号;激活后请将您[Dearbook的注册邮件]/[Blog的帐号]//[获奖文章名称]/[获奖日期]回复邮件给我们的编辑gaocao(AT)csdn.net;
4.请各位网友及时查收您的D币帐号,有问题及时和我们联系,或者在本栏目评论。
5.[每日一帖]不断更新中…… 明天将评选出今天的每日一帖
6.详细请参考:http://blog.csdn.net/todaypost/
#macleo 发表于2006-06-08 12:37:00  IP: 60.164.50.*
呵呵,blue中奖了啊?^_^!恭喜!
#nlhlx 发表于2006-06-11 22:25:00  IP: 220.180.134.*
这里有一种动态缓存方法:
http://www.newxy.net/doc.htm#anchor12
#ice241018 发表于2006-08-07 14:35:00  IP: 125.93.240.*
写得真好
#Frank 发表于2006-11-13 15:51:00  IP: 61.144.143.*
讲得好 讲得明 讲得白!
#C_SuperMe 发表于2008-05-04 08:56:55  IP: 222.66.57.*
可以好好学习一下啊!!
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © never-online