2010-06-15 84 views
1

我有一個使用Zend Framework構建的博客,我認識到可能對博客本身有點矯枉過正,但我​​計劃在將來添加其他功能。不過,我注意到網頁可能會更快一些。我已經完成了一個基本的緩存方法,它基本上捕獲了index.php(核心前端和文件後端)中的所有內容,這很好用,但不幸的是,它也阻止了動態頁面內容的更新(消息如「5分鐘前發佈」等等),直到緩存時間到期。Zend框架緩存的最佳方法

所以我的問題是什麼是緩存的最佳方法來提高性能?我正在做相當基本的查詢,這些查詢大多是簡單的選擇,沒有多少連接或任何想法(使用Zend_Db_Table),即使在小型數據庫頁面上,加載也有點遲緩。緩存查詢是值得的嗎?還是我應該把時間放在其他地方?

+0

回答當你觸發緩存:先讀或後,發表? – allnightgrocery 2010-06-15 03:09:13

+1

你有沒有介紹過這個項目來檢測目前的瓶頸? – zerkms 2010-06-15 03:44:53

回答

1

要啓用渲染的動態性(「在X分鐘前發佈」),可以將緩存推向更上游一點。不要緩存html輸出,只緩存查詢返回的數據。然後你的渲染代碼仍然可以訪問發佈日期數據,你的渲染代碼可以使用它。

當然,@zerkms是正確的。分析對識別瓶頸是必要的。

0

如果當前性能令人滿意,可以在未來實現緩存。我的建議是:

  • 優化前端第一(壓縮CSS,JS,合併成一個文件,避免多個請求,請參閱性能雅虎規則)
  • 使用碼緩存
  • 已經有頁後端的ZF用於緩存整個頁面(您在index.php中設置它)
  • 如果以上不足,請對您的應用程序進行配置文件(例如使用ZFDebug),看看有什麼問題。然後爲工作選擇合適的工具。
  • 看我爲Zend_Cache_Backend_Sqlite vs Zend_Cache_Backend_File