讓Nginx根據登入狀態做快取

雖然 wordpress 也有第三方的快取套件(WP Super Cache)能開箱即用,但我比較熟悉用 nginx 直接快取 php-fpm 的回應(fastcgi cache),便往這方向搜尋。意外看到一段語法能解決之前工作上遇到的問題:根據登入狀態做快取。

其中我需要的是最後一段,當 cookie 包含 wordpress_logged_in 字串的時候,則 nginx 可無視快取。


會這麼做是因為我維護的是論壇,根據82法則:8成的人是訪客,2成的人有登入。那麼如果每次 request 都要用 PHP 處理就太佔用 CPU 了。

不如在這邊偷雞摸狗一下,若是訪客,則給他一個 5 秒的快取。
搭配上 fastcgi_cache_background_update 豈不美哉~

Tags:,

Add a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *