PHP APC作为本地对象存储有除存储大小之外的任何限制吗?

Nir*_*Nir 5 php apc

我在一个Web服务的生产服务器上使用PHP APC,并且很长一段时间内成功地获得了10M的点击率.

我正在考虑将更多数据卸载到APC本地缓存.

理论上它在我看来,因为APC调用主要是本地内存访问.称它为10,000次/秒不应该成为一个问题.据我所知,它的限制可能在于内存大小,但只要服务器具有空闲CPU,就不应该在高速率下出现性能或损坏问题.

是否有任何限制,我不知道这可能会阻止我在应用服务器(ubuntu)上以非常高的速率使用APC的本地对象缓存.

更新:显然根据下面的答案,我的问题不明确.我不是在寻找替代缓存选项(memcache,redis等......).我的问题是,在非常高的速率下使用本地APC并读取并发性是否存在任何问题或限制.

Tom*_*rdt 4

我个人非常喜欢使用memcached进行此类存储。它有几个优点:

  • 这是一个完全专注于存储的程序,memcached 的开发将始终聚焦于此。APC 主要是代码缓存,它恰好提供对用户存储的一些访问。
  • 当您重新加载或重新启动 Apache(或您使用的任何网络服务器)时,APC 的缓存将被清空。当您使用独立解决方案(例如 memcached)时,您可以控制缓存何时被清空。这对于我的情况来说确实非常重要,因为我有时必须更改 Apache 的配置,并且在这样做时真的不想清除缓存,因为它会产生较大的 CPU 峰值(再次将数据加载到缓存中) )。
  • 它可以创建分布式缓存,使其更具可扩展性。当您因为网站变大而必须添加第二个服务器时,您不希望两个缓存缓存相同的内容。memcached 的扩展性很好,而 APC 的缓存则不然。

与 APC 的用户缓存相比,使用 memcached 还有许多其他优点,但对我来说,这些是不使用 APC 的用户缓存的三个主要原因。当然,我确实使用 APC,只是不使用用户缓存。