Я использую Symfony 5.1 + API Platform, я активировал doctrine кеш результатов, используя локальный Memcached, но он не сохраняет никакого ключа. Он работает нормально для метаданных и кеша запросов.
ПРИМЕЧАНИЕ. У меня есть 2 настраиваемых пакета с разными подключениями, и я использую Bundle One по умолчанию. Я настроил метаданные и кеш запросов как result_cache_pool, просто чтобы проверить, работает ли он нормально (и это так, memcached заполняется метаданными и проанализированными запросами).
Я пробовал это с помощью среды dev и prod ( всегда локально). Я также пытался вручную добавить драйвер кеша в запрос, но все равно ничего.
$cacheDriver = new MemcachedCache();
$queryBuilder->getQuery()->setResultCacheDriver($cacheDriver);
cache.yaml
framework:
cache:
app: cache.adapter.memcached
pools:
doctrine.result_cache_pool:
adapter: cache.app
default_lifetime: 3600
doctrine .yaml:
doctrine:
dbal:
default_connection: one
connections:
default:
url: "%env(resolve:DATABASE_URL)%"
one:
url: "%env(resolve:DATABASE_ONE_URL)%"
two:
url: "%env(resolve:DATABASE_TWO_URL)%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
default_entity_manager: one
entity_managers:
one:
metadata_cache_driver:
type: pool
pool: doctrine.result_cache_pool
query_cache_driver:
type: pool
pool: doctrine.result_cache_pool
result_cache_driver:
type: pool
pool: doctrine.result_cache_pool
connection: one
mappings:
OneBundle:
is_bundle: true
type: annotation
dir: "Entity"
prefix: 'Mine\OneBundle'
alias: Mine\OneBundle
two:
...