Doctrine кеш результатов не работает в Symfony 5.1 - PullRequest
0 голосов
/ 03 августа 2020

Я использую 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:
        ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...