Symfony 和 Doctrine 元数据缓存

Symfony and Doctrine Metadata Cache

我正在尝试优化我的 Symfony 应用程序性能并且我关注了这些帖子:

我"worried"关于这些行:

doctrine:
    orm:
        entity_managers:
            default:
                metadata_cache_driver: apc
                query_cache_driver: apc
                result_cache_driver: apc

它们 使用安全 还是我必须在部署后小心处理它们? 我正在使用 php app/console cache:clear --env=prod --no-debug 清除缓存,我是否也需要清除 APC 缓存?

是的,一般来说,您应该在部署后清除 APC 缓存。但这取决于自上次部署以来您所做的更改。

cache:clear 不会清除 Doctrine 缓存。它只会清除您的缓存目录(var/cache/{env} 用于 Symfony 3+,app/cache 用于 2.8):FrameworkBundle/Command/CacheClearCommand.php

因此,如果自上次部署以来某些内容(例如您的实体)发生了变化,您应该在部署后清除缓存。

如果您手动部署,运行 这些命令(如果适用):

bin/console doctrine:cache:clear-query --env=prod
bin/console doctrine:cache:clear-result --env=prod
bin/console doctrine:cache:clear-metadata --env=prod

如果您更希望安全而不是遗憾,或者如果您自动部署,运行 所有这些。

遗憾的是,无法使用 CLI 清除 APC 缓存。参见 or . As an alternative, you can restart your webserver