页面静态化的一个大问题是登录用户访问页面如何静态化。 例如首页, 大部分的页面内容需要缓存但是用户登录后的个人信息是动态信息, 不能缓存。 那么如何解决这个"页面部分缓存"问题?
现有的方案是利用 SSI - Server Side include.
Nginx SSI 实现是 http://wiki.nginx.org/NginxHttpSsiModule
这里最关键的就是静态文件可以包含一个动态的网页的 URL.
这里有一篇文章对这个问题进行了深入的讨论:
http://jimmyg.org/blog/2009/ssi-memcached-nginx.html
文章用了 memcache. 我关心的是 SSI 和 Nginx 自身的 cache 的协同工作。
模块分析:
http://kovyrin.net/2007/08/05/using-nginx-ssi-and-memcache-to-make-your-web-applications-faster/
http://www.misuse.org/science/2008/02/22/rails-page-caching-nginx-ssi-ajax-and-form-posts/#more-118