Symfony3 - компонент кэша - определение пула
Я бы хотел использовать новый компонент Symfony 3 Cache в проекте. Я могу использовать это, если я определяю свои услуги вручную следующим образом:
app.cache.adapter.array:
class: 'Symfony\Component\Cache\Adapter\ArrayAdapter'
app.redis.client:
class: Predis\Client
factory: ['Symfony\Component\Cache\Adapter\RedisAdapter', 'createConnection']
arguments: ["%redis_dsn%", {timeout: 5}]
app.cache.adapter.redis:
class: Symfony\Component\Cache\Adapter\RedisAdapter
abstract: true
arguments:
-
- "api"
- 0
app.cache.adapter.chain:
class: 'Symfony\Component\Cache\Adapter\ChainAdapter'
abstract: true
arguments:
- ['@app.cache.adapter.array', "@app.cache.adapter.redis"]
- 0
cache.api:
parent: "app.cache.adapter.chain"
Но как только я использую тег cache.pool или конфигурацию пулов фреймворков для получения данных в профилировщике, у меня возникает исключение
framework:
cache:
pools:
cache.api:
adapter: "app.cache.adapter.chain"
public: true
default_lifetime: 0
clearer: ~
И здесь исключение
(1/1) ContextErrorException
Catchable Fatal Error: Argument 1 passed to Symfony\Component\Cache\Adapter\ChainAdapter::__construct() must be of the type array, string given, called in /var/www/julien/htdocs/sccd/website/var/cache/dev/appDevDebugProjectContainer.php on line 4032 and defined
in ChainAdapter.php (line 37)
at ChainAdapter->__construct('+FJMe7Pj5l', 0)in appDevDebugProjectContainer.php (line 4032)
at appDevDebugProjectContainer->getCache_Api_RecorderInnerService()in appDevDebugProjectContainer.php (line 623)
at appDevDebugProjectContainer->getCache_ApiService()in classes.php (line 3292)
at Container->get('cache.api')in appDevDebugProjectContainer.php (line 2629)
Может ли кто-нибудь помочь мне в этом?
Я использую Symfony v3.3.11 и predis/predis v1.1.1 для подключения redis.
Спасибо