頁面靜態化的一個大問題是登錄用戶訪問頁面如何靜態化。 例如首頁, 大部分的頁面內容需要緩存但是用戶登錄后的個人信息是動態信息, 不能緩存。 那么如何解決這個"頁面部分緩存"問題?
現有的方案是利用 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