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. Symfony2:将APC更改为xcache
- 2. CakePHP是否正式支持SQLite3?
- 3. 你会选择哪一个; XCache或APC?
- 4. 如何检查用户是否在Django模板中支持'或其他'支持?
- 5. 谷歌地图JSF支持和其他支持
- 6. 是否有支持JDBC的Google App Engine的其他选择?
- 7. f:属性是否支持String以外的其他东西?
- 8. 模板(或其他技术)是否支持以下构造?
- 9. javadoc是否支持其他评论风格?
- 10. Ember是否支持依赖于其他库的库?
- 11. PLV8是否支持对其他服务器进行http调用?
- 12. 谷歌助理sdk是否支持其他语言?
- 13. iMacros是否支持javascript或其他脚本?
- 14. Visual Studio测试运行器是否支持其他框架?
- 15. Smarty是否使用APC(或其他缓存解决方案)?
- 16. 支持其他语言
- 17. Memcache,APC,XCache和其他替代品之间的差异我还没有听说过
- 18. Opcode(APC/XCache),Zend,Doctrine和自动加载器
- 19. sIFR是否支持希伯来语和其他从右向左(rtl)语言?
- 20. Google Play库是否具有向后兼容性支持? (和其他库)
- 21. eclipse是否支持破折号和其他字符的自动替换?
- 22. CakePHP 2.2是否有支持日期的结束?还是版本?
- 23. 是否支持groovvy
- 24. 是否支持SSI?
- 25. 是否支持DataGrid?
- 26. 是否支持MSNP9?
- 27. 是否支持ARC?
- 28. Android是否支持手表支持NFC
- 29. SMS提供商与其他API和(REST支付支持)
- 30. Java-- hibernate是否支持审计模式和历史支持?
约WINCACHE任何想法? – JPro 2010-04-13 15:13:52