回答
Memcached是一個分佈式緩存 系統,而APC是非分佈式 - 和主要的操作碼緩存。
如果(且僅當)你有一個Web應用程序 其中有住在 不同的網絡服務器(負載平衡), 你必須使用內存緩存爲 分佈式緩存。如果不是,只需 堅持APC和它的緩存。
你應該總是使用操作碼緩存, 這是APC(APC也將獲得 融入PHP6 IIRC,那麼爲什麼不 現在開始使用它)。
您可以/應該將兩者用於不同的 目的。
APC和memcached的是不一樣的東西:
所有的最前一頁,APC有兩個作用:
- 這是一個操作碼緩存(這意味着每個PHP頁面通常需要更少的CPU,因爲它刪除了「編譯」部分;當我們第一次啓用APC作爲操作碼緩存時,我們網絡服務器上的CPU負載從80%變成了類似於40-50%的東西)
- 這也是一個非分佈式數據緩存
- 這意味着,如果你有幾臺服務器,您的服務器的每一個具有緩存
- 這也意味着有一個相當低的限度上的本地副本數據量可以在高速緩存
而memcached的存儲:
- 這只是一個數據高速緩存
- 它分佈式
- 即分佈式緩存羣集上的服務器的數量沒有限制
- 即高速緩存的數量上沒有限制,你可以有
您可以使用APC或memcached的,或兩者兼而有之,作爲數據緩存(這就是我們正在做的項目我目前正在處理:一些數據緩存在APC中,另一些則使用memcached)。但是,如果您想要一些操作碼緩存,則必須使用APC (或eAccelerator;但不確定它是否維護得很好)。
PHP和apc分別是什麼版本? – user198729
幾乎是PHP 5.2 *的最後一個「穩定」版本(即類似於5.2.9或5.2.10)*和最後一個「穩定」版本的APC *(即3.0.19)* –
我聽說apc是穩定的PHP5.2,但我已經使用PHP5.3,並且apc版本是3.1.3.0,這似乎是buggy – user198729
- 1. 比Datatable效率更高
- 2. 獲得字符串的最高效率是多少?
- 3. 效率比較
- 4. 比較效率
- 5. Memcached慢得到,CPU使用率高
- 6. 這個算法的效率是多少
- 7. 指針間接影響效率多少?
- 8. Memcached調優腳本:如何確定memcached的效率?
- 9. NSString比較效率
- 10. memcached中有多少個鍵太多?
- 11. 通過刪除Java項目中的XML,你的效率提高了多少?
- 12. 分辨率和寬高比
- 13. 需要幫助減少三重循環以提高效率
- 14. 提高我的查詢效率 - 減少全表掃描?
- 15. 減少循環的運行時間並提高效率
- 16. '==='比'!=='更高效嗎?
- 17. 如何提高效率?
- 18. 如何提高UICollectionView效率?
- 19. 提高MySQL的效率
- 20. 循環的高效率
- 21. 提高循環效率
- 22. 如何提高Fipy效率
- 23. PLSQL - 提高代碼效率
- 24. Android - 哪種效率更高?
- 25. 使片段效率更高
- 26. mysql_num_rows()php - 效率高嗎?
- 27. 提高R腳本效率
- 28. SQL:提高加盟效率
- 29. 提高R腳本效率
- 30. NSBitmapImageRep爲高效率的RGB
但apc是如此的越野車,我幾乎不能容忍.. – user198729
@ user198729:那麼你應該去memecache :)順便說一下,有大的應用程序已經使用apc。 – Sarfraz
@ user198729你能記下你的評論嗎?因爲幾乎所有的PHP服務器都使用APC作爲操作碼緩存系統而沒有問題。 (是的,我知道你在2010年二月份發佈了這篇文章,但我很長一段時間都在使用它)。 – Shadok