《构建高性能Web站点》笔记:4.1 动态内容缓存

动态html缓存是指
将动态的内容如 detial?id=xxx 缓存起来,存成文件; 当收到同样的请求时,直接返回缓存的文件,而不必再去执行一次完整的请求处理过程,比如查数据库什么的。

缓存除了放文件里,还可以放内存里,或者一台独立的缓存服务器中。

具体实现的方案包括:

  1. web/mvc框架:如php的smarty,它提供了缓存操作的API

  2. web服务器:如apache的mod_cache,它根据http头里的一些字段来决定缓存的刷新策略 (在这里,缓存的key是url)

  #2比#1的代码侵入性要低的多、甚至可以说没有侵入; 但反过来说,这也意味着缓存的设计依赖了web server,并且应用程序对缓存失去了直接控制

前端
另一个重要的缓存点是动态脚本编译后的opcode,如jsp编译后的字节码。 将opcode缓存起来,可以避免每次请求时都编译一次

  1.php/jsp都可以玩这一套,其中jsp还可以pre-compile

  2.这种缓存只能节省CPU/内存的开销,跟I/O没什么关系; 如果你的应用的瓶颈是在I/O,那这种做法就没什么效果

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.