Tower Tower - 4 months ago 11
PHP Question

How to cache in Symfony 2?

I need to cache some application specific data using Symfony 2's caching system so that I can run

cache:clear
to clear it. All the cache relies under
app/cache
but how do I actually go about caching data?

http://symfony.com/doc/current/cookbook/index.html

The only topic I see is about HTML caching with Varnish.

Answer

If you are using Doctrine already just use those cache classes.

Add a service to config.yml:

services:
    cache:
        class: Doctrine\Common\Cache\ApcCache

And use it in your controller:

if ($fooString = $this->get('cache')->fetch('foo')) {
    $foo = unserialize($fooString);
} else {
    // do the work
    $this->get('cache')->save('foo', serialize($foo));
}
Comments