The DoctrineCacheExtensionBundle provides integration of the DoctrineCacheExtension library. DoctrineCacheExtension provides facilities to manage cache managment:
- Default lifetime
- Fetch with a namespace
- Save with a namespace
- Cache invalidation through namespace strategy
- Data collector available in the profiler (not implemented yet)
See OpenClassrooms/DoctrineCacheExtension for more details.
This bundle can be installed using composer:
composer require openclassrooms/doctrine-cache-extension-bundle
or by adding the package to the composer.json file directly.
{
"require": {
"openclassrooms/doctrine-cache-extension-bundle": "*"
}
}
After the package has been installed, add the bundle and the DoctrineCacheBundle to the AppKernel.php file:
// in AppKernel::registerBundles()
$bundles = [
// ...
new new \Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle();
new OpenClassrooms\Bundle\DoctrineCacheExtensionBundle\OpenClassroomsDoctrineCacheExtensionBundle(),
// ...
)];
# app/config/config.yml
doctrine_cache_extension:
default_lifetime: 10 #optional, default = 0
To configure the cache providers, use the DoctrineCacheBundle configuration. For example :
# app/config/config.yml
doctrine_cache:
providers:
a_cache_provider:
type: array
$cache = $container->get('doctrine_cache.providers.a_cache_provider');
$cache->fetch($id);
$cache->fetchWithNamespace($id, $namespaceId);
$cache->save($id, $data);
$cache->saveWithNamespace($id, $data, $namespaceId);
$cache->invalidate($namespaceId);
The bundle provides data in the profiler such as number of calls, kind of calls ... (picture)