一個(gè)登錄用戶在頁(yè)面訪問(wèn)的時(shí)候如何充分利用 cache?
頁(yè)面靜態(tài)化的一個(gè)大問(wèn)題是登錄用戶訪問(wèn)頁(yè)面如何靜態(tài)化。 例如首頁(yè), 大部分的頁(yè)面內(nèi)容需要緩存但是用戶登錄后的個(gè)人信息是動(dòng)態(tài)信息, 不能緩存。 那么如何解決這個(gè)"頁(yè)面部分緩存"問(wèn)題?
現(xiàn)有的方案是利用 SSI - Server Side include.
Nginx SSI 實(shí)現(xiàn)是 http://wiki.nginx.org/NginxHttpSsiModule
這里最關(guān)鍵的就是靜態(tài)文件可以包含一個(gè)動(dòng)態(tài)的網(wǎng)頁(yè)的 URL.
這里有一篇文章對(duì)這個(gè)問(wèn)題進(jìn)行了深入的討論:
http://jimmyg.org/blog/2009/ssi-memcached-nginx.html
文章用了 memcache. 我關(guān)心的是 SSI 和 Nginx 自身的 cache 的協(xié)同工作。
模塊分析:
- http://hi.baidu.com/langwan/blog/item/c6399513c19a4f896438db72.html
- http://hi.baidu.com/langwan/blog/item/d4c40efa6752ad9e59ee90c5.html
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