У меня есть приложение Symfony 4.1, где я использую Doctrine и хочу настроить кэш Redis для Doctrine.
Вот часть composer.json
"snc/redis-bundle": "^2.1",
"symfony/doctrine-bridge": "^4.1",
"symfony/proxy-manager-bridge": "^4.1",
Вот yml
файл конфигурации:
snc_redis:
clients:
doctrine_cache:
type: phpredis
alias: doctrine_cache
dsn: '%my_dsn%'
doctrine:
metadata_cache:
client: doctrine_cache
entity_manager: default
Проблема в том, что в первый раз, когда Symfony пытается сгенерировать кэш для всех DI-контейнеров, он инициализирует соединение Redis. Это означает, например, что когда я запускаю консольную команду any , она пытается подключиться к redis. Пример:
// very first command after git clone and composer install
php bin/console about
Выход:
In PhpredisClientFactory.php line 64:
php_network_getaddresses: getaddrinfo failed: No such host is known.
Я ожидаю, что служба кэширования Redis будет инициализироваться лениво, в противном случае я не могу запустить другие команды сборки в независимой (не имеющей Redis) среде.
Может кто-нибудь посоветовать, пожалуйста?