diff --git a/cache.rst b/cache.rst
index 448b3cd3cf1..6144b470979 100644
--- a/cache.rst
+++ b/cache.rst
@@ -234,7 +234,7 @@ You can also create more customized pools:
-
+
@@ -380,6 +380,10 @@ To get the best of both worlds you may use a chain of adapters. The idea is to
first look at the quick adapter and then move on to slower adapters. In the worst
case the value needs to be recalculated.
+.. versionadded:: 4.4
+
+ Support for configuring a chain using ``framework.cache.pools`` was introduced in Symfony 4.4.
+
.. configuration-block::
.. code-block:: yaml
@@ -389,23 +393,11 @@ case the value needs to be recalculated.
cache:
pools:
my_cache_pool:
- adapter: cache.adapter.psr6
- provider: app.my_cache_chain_adapter
- cache.my_redis:
- adapter: cache.adapter.redis
- provider: 'redis://user:password@example.com'
- cache.apcu:
- adapter: cache.adapter.apcu
- cache.array:
- adapter: cache.adapter.array
-
-
- services:
- app.my_cache_chain_adapter:
- class: Symfony\Component\Cache\Adapter\ChainAdapter
- arguments:
- - ['@cache.array', '@cache.apcu', '@cache.my_redis']
- - 31536000 # One year
+ default_lifetime: 31536000 # One year
+ adapters:
+ - cache.adapter.array
+ - cache.adapter.apcu
+ - {name: cache.adapter.redis, provider: 'redis://user:password@example.com'}
.. code-block:: xml
@@ -419,23 +411,13 @@ case the value needs to be recalculated.
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
- 31536000
-
-
.. code-block:: php
@@ -445,39 +427,17 @@ case the value needs to be recalculated.
'cache' => [
'pools' => [
'my_cache_pool' => [
- 'adapter' => 'cache.adapter.psr6',
- 'provider' => 'app.my_cache_chain_adapter',
- ],
- 'cache.my_redis' => [
- 'adapter' => 'cache.adapter.redis',
- 'provider' => 'redis://user:password@example.com',
- ],
- 'cache.apcu' => [
- 'adapter' => 'cache.adapter.apcu',
- ],
- 'cache.array' => [
- 'adapter' => 'cache.adapter.array',
+ 'default_lifetime' => 31536000, // One year
+ 'adapters' => [
+ 'cache.adapter.array',
+ 'cache.adapter.apcu',
+ ['name' => 'cache.adapter.redis', 'provider' => 'redis://user:password@example.com'],
+ ],
],
],
],
]);
- $container->getDefinition('app.my_cache_chain_adapter', \Symfony\Component\Cache\Adapter\ChainAdapter::class)
- ->addArgument([
- new Reference('cache.array'),
- new Reference('cache.apcu'),
- new Reference('cache.my_redis'),
- ])
- ->addArgument(31536000);
-
-.. note::
-
- In this configuration the ``my_cache_pool`` pool is using the ``cache.adapter.psr6``
- adapter and the ``app.my_cache_chain_adapter`` service as a provider. That is
- because ``ChainAdapter`` does not support the ``cache.pool`` tag. So it is decorated
- with the ``ProxyAdapter``.
-
-
Using Cache Tags
----------------