CakePHP是否支持APC,XCache和其他?CakePHP是否支持APC,XCache和其他?
回答
在蛋糕的/app/config/core.php
,也有一些選項供您設置的高速緩存引擎(版本比1.2新).eg
APC (http://pecl.php.net/package/APC)
Cache::config('default', array(
'engine' => 'Apc', //[required]
'duration'=> 3600, //[optional]
'probability'=> 100, //[optional]
'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
));
它應該支持APC作爲操作碼緩存 - 它只是PHP代碼,畢竟。
而且似乎有一個APC相關的類使用APC作爲數據緩存:請參閱ApcEngine
。
另請參閱手冊:7.2.2 Cache Engines in Cake,其中說明支持APC,XCache,File和memcached。
只需添加到已經提供的另一個很好的答案,也有一些技巧,得到蛋糕來使用文件緩存以外的任何東西來進行內部緩存。此代碼將做蛋糕用APC,XCache將,無論對於它的核心高速緩存(APC在這個例子中)
Cache::config('_cake_core_',
array(
'engine' => 'Apc',
'duration'=> 3600,
'probability'=> 100,
)
);
蛋糕也可以把這個在你的控制器/ AppController中緩存你的模型。
var $persistModel = true;
不過,模型只能使用文件緩存
這些都是從這篇文章,其中包括了一堆的方法來使用蛋糕的緩存機制,以加快您的應用程序被盜
http://www.pseudocoder.com/archives/8-ways-to-speed-up-cakephp-apps
另外,正如Pascal所述,通過安裝和配置APC,您的PHP操作碼會自動緩存。
爲了獲得更好的緩存效果,php支持將memcache作爲會話存儲的替代文件,這對於負載均衡環境尤其有用。一個單一的服務器上執行的一個例子是把這個在您的INI
extension=memcache.so
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211?persistent=1"
這在core.php中
Configure::write('Session.save', 'php');
在CakePHP 2.0裝甲運兵車被自動檢測和設置。在你core.php中,你可以找到:
$engine = 'File';
if (extension_loaded('apc') && function_exists('apc_dec') && (php_sapi_name() !== 'cli' || ini_get('apc.enable_cli'))) {
$engine = 'Apc';
}
注意,CakePHP的2.2後,自動檢測APC被禁用。
在2.2.1 APC被使用時,如果檢測到的:https://github.com/cakephp/cakephp/blob/2.2.1/app/Config/core.php
由於2.3默認發動機是 「文件」。最新的穩定/app/Config/core.php
https://github.com/cakephp/cakephp/blob/2.4.4/app/Config/core.php#L352
由於2.4。4,這些都支持
- 文件引擎
- APC
- WINCACHE
- 了XCache
- 內存緩存
- Redis的
文檔: http://book.cakephp.org/2.0/en/core-libraries/caching.html#caching
FileCache文件緩存是使用本地文件的簡單緩存。它是最慢的緩存引擎,並沒有爲原子操作提供儘可能多的功能。但是,由於磁盤存儲通常非常便宜,因此存儲大型對象或不常寫入的元素在文件中運行良好。這是2.3 +的默認緩存引擎
ApcCache APC緩存使用PHP APC擴展。該擴展使用Web服務器上的共享內存來存儲對象。這使得它非常快速,並且能夠提供原子讀/寫功能。默認情況下,2.0-2.2中的CakePHP將使用此緩存引擎(如果可用)。
Wincache Wincache使用Wincache擴展。 Wincache在功能和性能方面與APC類似,但針對Windows和IIS進行了優化。
XcacheEngine Xcache是一個PHP擴展,它提供了與APC類似的功能。
MemcacheEngine使用Memcache擴展。 Memcache提供了一個非常快速的緩存系統,可以分佈在多個服務器上,並提供原子操作。
RedisEngine使用phpredis擴展名。 Redis提供了類似於memcached的快速持久緩存系統,同時提供了原子操作。
如果您想了解使用哪一個。檢查它們的發展狀態。
- APC:最後穩定:3.1.9,14 2011年5月,http://pecl.php.net/package/apc
- WINCACHE:1.3.5,2013年9月13日,http://sourceforge.net/projects/wincache/files/
- 了XCache:3.1.0,2013年10月10日,http://xcache.lighttpd.net/
- 內存緩存:2.2.7,2012年9月22日,http://pecl.php.net/package/memcache
- 的Redis:2.8.4,2014年1月13日,http://redis.io/download
- 1. CakePHP是否正式支持SQLite3?
- 2. 你會選擇哪一個; XCache或APC?
- 3. Visual Studio測試運行器是否支持其他框架?
- 4. 谷歌助理sdk是否支持其他語言?
- 5. 模板(或其他技術)是否支持以下構造?
- 6. Memcache,APC,XCache和其他替代品之間的差異我還沒有聽說過
- 7. Opcode(APC/XCache),Zend,Doctrine和自動加載器
- 8. eclipse是否支持破折號和其他字符的自動替換?
- 9. sIFR是否支持希伯來語和其他從右向左(rtl)語言?
- 10. CakePHP 2.2是否有支持日期的結束?還是版本?
- 11. 是否支持MSNP9?
- 12. 是否支持DataGrid?
- 13. 是否支持ARC?
- 14. Java-- hibernate是否支持審計模式和歷史支持?
- 15. 爲什麼Android支持java而不支持其他語言?
- 16. Log4j SyslogAppender是否支持MDC和NDC
- 17. JDOM是否支持ID和IDREF?
- 18. Derby是否支持表和列註釋?
- 19. UIButton和Appearance API - 是否支持?
- 20. IE9是否支持WebGL和/或WebSockets?
- 21. IE8是否支持HTML5和CSS3?
- 22. iPhone是否支持AJAX和jQuery?
- 23. Pact是否支持REST和JMS?
- 24. phonegap和cordova是否支持ARIA角色?
- 25. Android SDK 2.0是否支持A2DP和AVRCP
- 26. Appcelerator是否支持JQuery和CSS3 100%
- 27. Do java.awt.Robot和java.awt.event.KeyEvent是否支持mousekeys?
- 28. Microsoft Edge和Windows 10是否支持HTA?
- 29. libNFC是否只支持READ,WRITE和COMP_WRITE
- 30. Spring Cloud Contract是否支持JavaScript和JMS?
約WINCACHE任何想法? – JPro 2010-04-13 15:13:52