`
pqcc
  • 浏览: 126062 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

动态缓存与静态缓存的区别(chedong)

阅读更多
1. 动态缓存与静态缓存的区别:

静态缓存:是在新内容发布的同时就立刻生成相应内容的静态页面,比如:2003年3月22日,管理员通过后台内容管理界面录入一篇文章后,就立刻生成http://www.zhuangwang.com/proshow.10459.html这个静态页面,并同步更新相关索引页上的链接。

动态缓存:是在新内容发布以后,并不预先生成相应的静态页面,直到对相应内容发出请求时,如果前台缓存服务器找不到相应缓存,就向后台内容管理服务器发出请求,后台系统会生成相应内容的静态页面,用户第一次访问页面时可能会慢一点,但是以后就是直接访问缓存了。


2. 静态缓存的缺点:
复杂的触发更新机制:这两种机制在内容管理系统比较简单的时候都是非常适用的。但对于一个关系比较复杂的网站来说,页面之间的逻辑引用关系就成为一个非常非常复杂的问题。最典型的例子就是一条新闻要同时出现在新闻首页和相关的3个新闻专题中,在静态缓存模式中,每发一篇新文章,除了这篇新闻内容本身的页面外,还需要系统通过触发器生成多个新的相关静态页面,这些相关逻辑的触发也往往就会成为内容管理系统中最复杂的部分之一。
旧内容的批量更新: 通过静态缓存发布的内容,对于以前生成的静态页面的内容很难修改,这样用户访问旧页面时,新的模板根本无法生效。

-->在动态缓存模式中,每个动态页面只需要关心,而相关的其他页面能自动更新,从而大大减少了设计相关页面更新触发器的需要。
( 以前做小型应用的时候也用过类似方式:应用首次访问以后将数据库的查询结果在本地存成一个文件,下次请求时先检查本地缓存目录中是否有缓存文件,从而减少对后台数据库的访问。虽然这样做也能承载比较大的负载,但这样的内容管理和缓存管理一体的系统是很难分离的,而且数据完整性也不是很好保存,内容更新时,应用需要把相应内容的的缓存文件删除。但是这样的设计在缓存文件很多的时候往往还需要将缓存目录做一定的分布,否则一个目录下的文件节点超过3000,rm *都会出错。)

分享到:
评论

相关推荐

    免费版StatPlus:Mac Excel 2011 ~ 2016 高级统计插件

    StatPlus for mac是Mac os平台上的一款帮助用户...https://www.chedong.com/blog/archives/001505.html Statplus这是一个第三方软件,配合excel,同样可以实现win下面加载项实现的功能,甚至更强大,免费版功能不错

    用于GSM加密的A5算法.zip_3gpp gsm a5_A5算法_GSM_gsm a5

    (2)JavaScript 源代码无须编译 嵌入HTML...则与之不同。Java的源代码必须进行编译,成为 存在...中的一部分,以一般的文本编辑器就可以连同HTML一... www.51foru.com/index008jsjc.htm 19K 2003-12-10 - 百度快照 C ...

    完整版 StatPlus:Mac for Excel 2011 ~ 2016 高级统计插件

    StatPlus6 被广泛应用与社会学,财务分析,生物统计学,经济学,保险业,医疗保健和临床研究中的数据分析,需要的朋友赶紧下载吧! 功能强大的电子表格 独立版本可以读取多种文本格式,Microsoft * Excel * 97-...

    Apache的学习笔记

    版权声明:可以任意转载,转载时请务必以...我个人感觉Apache的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用模块都可以通过配置文件的简单修改进行积木式的灵活配置。安装的过

    siege2.72最新版本以及使用教程

    -f www.chedong.com.url 任务列表:URL列表 输出样例: ** Siege 2.72 ** Preparing 20 concurrent users for battle. 这次“战斗”准备了20个并发用户 The server is now under siege.. done. 服务在“围攻”测试...

    基于Java的全文索引引擎Lucene

    简化的查询分析器,删除的实现,定制的排序,应用接口的扩展从Lucene我们还可以学到什么作者:车东http://www.chedong.com/tech/default.html基于Java的全文索引/检索引擎——LuceneLucene不是一个完整的全文索引...

Global site tag (gtag.js) - Google Analytics