StockBreak
StockBreak

Reputation: 2895

Symfony and Doctrine Metadata Cache

I am trying to optimize my Symfony application performances and I followed these posts:

I am "worried" about these lines:

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

Are they safe to use or I must handle them with care after deploy? I am clearing the cache with php app/console cache:clear --env=prod --no-debug, do I need to clear APC cache too?

Upvotes: 5

Views: 10221

Answers (1)

Stephan Vierkant
Stephan Vierkant

Reputation: 10144

Yes, in general, you should clear your APC cache after deployment. But it depends on what you've changed since your last deployment.

cache:clear won't clear the Doctrine cache. It only clears your cache directory (var/cache/{env} for Symfony 3+, app/cache for 2.8): FrameworkBundle/Command/CacheClearCommand.php

So you should clear the cache after deployment if something (for example your entities) has changed since the last deployment.

If you deploy manually, run these commands if applicable:

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

If you prefer better safe than sorry or if you deployment automatically, run all of them.

Unfortunately, the APC cache can't be clear using CLI. See this answer or this question. As an alternative, you can restart your webserver.

Upvotes: 12

Related Questions