【问题标题】:How to de-fragment APC cache如何对 APC 缓存进行碎片整理
【发布时间】:2012-05-13 22:04:23
【问题描述】:

是否可以对 APC 缓存进行碎片整理,或者唯一可用的选项是清除并重建它?
如果我们不能对其进行碎片整理,转储整个缓存清除它然后重新加载转储是否是个好主意?这会清除碎片吗?

【问题讨论】:

  • @hakre,问题是碎片减少了存储文件的数量。目前我有大约 12M/64M 的可用空间,完全碎片化,并且在短短 2 天内缓存完整计数为 12。存储的文件数量从 510+ 减少到 360。所以我想,如果我能每隔一段时间对空间进行碎片整理就好了。

标签: php caching apc


【解决方案1】:

APC 将操作码存储在 ram 中。它没有碎片管理。

碎片整理的唯一方法是刷新缓存。 在 php 脚本中使用 apc_clear_cache()。 或者重启httpd。

请注意,APC 将不得不重建其缓存。

如果您给 APC 足够的内存,则应该没有(或很少)碎片。 在这里查看我的答案,看看如何猜测所需的内存 What is causing "Unable to allocate memory for pool" in PHP?

【讨论】:

  • 这是正确答案。接受的答案不正确。
【解决方案2】:

还有其他方法。如果您使用密码安装了名为apc.php 的某个文件(非常重要!),您可以登录该站点并从那里刷新操作码和用户缓存。

【讨论】:

  • 你能再解释一下吗?
  • 您好,欢迎来到 Stackoverflow!请阅读How to Answer a Question Guide
  • @peter 是的,它是选项之一。但它总是首选手动流程自动化。
【解决方案3】:

在 Debian 8 上,安装 APC:

sudo apt-get install -y php5-apcu

然后将apc.php 复制到您的网络根目录中:

cp /usr/share/doc/php5-apcu/apc.php /var/www/html

编辑文件,修改ADMIN_USERNAME & ADMIN_PASSWORD

然后在浏览器中访问apc.php 文件,登录并点击Clear Cache

【讨论】:

    猜你喜欢
    • 2013-03-12
    • 2011-04-21
    • 2018-01-03
    • 2012-12-15
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多