当前位置:  开发笔记 > 编程语言 > 正文

Memcached vs APC我应该选择哪一个?

如何解决《MemcachedvsAPC我应该选择哪一个?》经验,为你挑选了5个好方法。

我读了这篇文章:http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/当时..我希望得到最好的缓存引擎,以便我的应用程序非常快.当然我不想过度缓存,但我想至少选择最好的东西.在那篇文章中它说Memcached很慢而且apc很快所以为什么每个人都选择memcached?

http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels在这里说"使用快速的(但有限的)像Apc,Memcache ......和a "慢"一个像File,Sqlite ......"你认为使用Apc作为快速和Memcache,因为慢是一个好主意?



1> Karsten..:

Memcached是一个分布式缓存系统,而APC是非分布式的 - 主要是操作码缓存.

如果(并且仅当)您有一个必须在不同的Web服务器(负载平衡)上运行的Web应用程序,您必须使用memcache进行分布式缓存.如果没有,只需坚持APC及其缓存.

你应该总是使用一个操作码缓存,这是APC(也是APC将集成到php6 iirc中,所以为什么不立即开始使用它).

您可以/应该将它们用于不同的目的.


"操作码"缓存是将纯PHP代码编译成机器代码("操作码")然后将其存储在编译形式以供将来请求(直到它检测到原始PHP文件已更改)的缓存.这意味着PHP不必在每个请求上运行此编译步骤,从而节省了一些时间.这只是帮助确保快速网站(其中包括许多其他网站)的方法之一.
令人惊叹的答案+1.我现在的问题是什么是"操作码"缓存?
@Karsten如果您有不同的服务器(如云负载环境),只要您不需要维护/共享状态,APC也可以作为直接内存缓存正常工作 - 尽管可能不如每个服务器一样优化云实例将不得不温暖自己的缓存...

2> xkcd150..:

Memcached,如果您需要在多个Web服务器上保留状态(如果您负载均衡,并且重要的是缓存中的内容对于所有服务器都是相同的).

如果您只需要访问快速内存以在(或每个)服务器上读取(和写入),则APC.

请记住,APC还可以编译并加快脚本执行时间.因此,您可以使用APC来提高执行性能,同时使用memcached进行缓存存储.


2014年更新:PHP 5.5将包含Zend Optimizer Plus(仅适用于opcache,因此不适用于用户缓存),似乎APC不会超越PHP 5.4开发?但是现在有APCu http://pecl.php.net/package/APCu,它只占用了APC的用户缓存部分
APC也可以缓存存储....或者?

3> Hieu Vo..:

APC的主要优点是操作码缓存.由于PHP 5.5将OpCache集成到其核心,而用于PHP 5.4的APC仍被标记为测试版,因此它不是官方公告,但APC的开发将在不久的将来被删除.

所以我建议你选择Memcached.


我花了几个小时在网上思考它,我得出了同样的结论.

4> 小智..:

我使用一个用于速度,另一个用于同步我的所有服务器.如果你确实使用了memcache,那么请记住你需要用iptables阻止的开放端口.



5> Nir Levy..:

嘿Thomaschaaf,我希望这不是你的工具,但请注意APC有一些与"用户缓存"有关的问题.总而言之,当您为缓存条目设置超时时,或者如果您的apache在内部APC代码内崩溃(例如,超时),那么您可能会遇到一些问题.

我对这里的问题的条目:http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.html,你也应该阅读的http://t3.dotgnu. info/blog/php/user-cache-timebomb.html(我认为是其中一位APC开发人员)


我偶然发现了这一点,并希望更新它现在似乎已得到解决(因为它应该在2年之后!).这是一个封闭的错误报告,例如:http://bugs.debian.org/cgi-bin/bugreport.cgi?video = 572529
推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有