2011-11-17 85 views
4

我在PHP中構建了一個相當龐大和複雜的CMS,並且我的計劃是在其某些部分實現緩存(可以爲特定頁面/部分創建/禁用緩存)。經過一番研究後,我得出結論:使用URL將是查找和檢索cahced文件的最佳實踐。我的目的是實現一個「整頁」解決方案,以避免對應該緩存的所有頁面進行突然的查詢緩存並緩存整個頁面。由URL緩存是一種很好的做法嗎?

僞代碼會是這樣(修改日期除外):

$filename = md5($the_full_url); 

if (file_exists($filename)) get_cached_file($filename); 

else write_cached_file($filename); 

難道這種做法被認爲是好的做法呢?

回答

6

我認爲這取決於頁面上是否有用戶生成的內容,例如,如果我查看頁面並查看頁面,我們是否會獲得不同的頁面或同一頁面?頁面上是否有任何形式的「動態」內容?

整頁緩存是最經濟的,如果頁面不會根據用戶/用戶進行更改。如果他們願意按用戶更改用戶,則可以通過[url.sessionid]進行緩存,如果沒有,則整個url的緩存都可以。

它的另一種替代它們likley保持不變(例如博客條目)頁面的緩存部分

最後有數據緩存,你只從數據庫緩存的動態數據在本地。

整個系統取決於您的要求。

+0

當時的想法是有東西,如緩存使用「整個頁面」的想法每隔X分鐘的產品網頁或論壇的意見,然後禁用緩存對於喜歡「用戶收件箱」或「您的論壇訂閱」的東西(或者使querycaching /通過url + sessid存儲緩存)。 –

相關問題