有什么意思是同时运行APC **和** memcached

APC和Memcached是否caching相同的数据? 我知道APCcaching文件和对象/variables,而memcached只是对象,但是memcached是否提供APC不支持的任何内容?

我已经看到两个使用的设置,但是这似乎是RAM的浪费,除非我失去了一些东西?

TIA,JD

在单个服务器上,两个地方都没有太多的caching相同的数据。 这将使用两倍的RAM没有真正的优势。 在这种情况下,使用APC可能是最容易的,因为它less了一个运行的过程,而且less了一个学习接口。

当您拥有整个服务器群集时,Memcache变得更加有用。 Memcache可以被多个服务器查询(也可以被同一个服务器上的多个进程查询)。 相比之下,APCcaching中的数据只能由PHP在其自己的服务器上使用。 这使Memcache效率更高,因为您可以caching一次数据,并在整个群集上使用它。 Memcache本身也可以被群集,这样你就可以从一堆不同的机器中共享RAM,并把它们全部用作一个大的caching。

我的公司同时使用Memcache和APC。 我们有十几台运行Memcache的服务器, 这些服务器caching复杂的数据结构,所以我们不必一直进行数据库查询。 我们还使用APC来存储一些常用的信息,如configuration设置。 没有APC,我们淹没了我们的Memcache服务器,有大量的简单数据请求,比如“应用程序处于只读模式吗? 我们的Memcache服务器可以处理它,但是将信息保存在本地内存中显然更有效。