2011-08-05 58 views
2

CakePHP除了默認的緩存引擎之外,還提供對APC,XCache和Memcache的支持。由於我的應用程序在零星的情況下緩存了不完整的頁面,因此我決定嘗試使用另一個引擎來查看是否有所作爲。CakePHP中的文件或APC緩存引擎?

XCache和Memcache似乎都可能需要更多一點的設置,但APC似乎實際上是在core.php中更改一行的情況。我的問題是,我在哪裏可以找到有關的信息爲什麼我應該選擇默認引擎上的APC?優缺點都有什麼?它不是真正的「只是嘗試它們,看看是否比另一個感覺更好」(可以嗎?),但基本的窺探並沒有揭示緩存引擎的不同優點的簡單分解蛋糕。

任何人都可以解釋Cake中緩存引擎的神祕運作嗎?或者將我指向一個資源呢?獎勵積分,如果了XCache和memcache也比較的,因爲他們可能是我的下一個停靠港...

+0

如果你在表演很感興趣,你可以搜索網絡上的基準(即。「APC vs Xcache」等)或執行你自己的。 [Wikipedia states](https://secure.wikimedia.org/wikipedia/en/wiki/List_of_PHP_accelerators):「APC正在迅速成爲事實上的標準PHP緩存機制,因爲它將包含內置於PHP的核心內容從PHP 5.4開始。「 – deizel

回答

5

文件在磁盤上:

  • 不夠快;併發訪問並不是很好,如果有幾個進程試圖同時讀/寫
  • 本地到一臺服務器(如果你有多個服務器,你將不得不在每個服務器上存儲文件 - - NFS正在緩慢)
  • 但你有一個很大的空間


APC是在內存:

  • 真快
  • 但是你有更小的空間
  • 而且這地方給每個服務器太


memcached是在內存中,網絡集羣:比APC少

  • 相當快(位;但仍然非常快)
  • 在所有服務器之間共享:即使您有多個Web服務器,每個項目也只能緩存一次。
  • 你可以在你的memcached集羣多臺服務器(這意味着在高速緩存的大小几乎沒有限制)
+0

偉大的簡介!不幸的是,改用APC並不能阻止偶爾緩存破損頁面的問題,但我可以看到它已經更快了。很高興知道將要發生的成本... – thesunneversets

+0

我不認爲更改緩存引擎可以解決您的問題:這很可能是代碼中的問題,與引擎本身無關。很高興我能幫忙,但:-) –

+0

嘿,是的!這是一個遠射,但值得一試,因爲我們只看到頁面以緩存格式打破!消除每一種奇怪的可能性,剩下的荒謬可笑的事情一定會成爲事實:D – thesunneversets