2016-04-05 5 views
3

Как вы используете кеширование непосредственно в контроллере без запросов (orm cache drivers)?Symfony - Кэш (Memcache) в контроллере

http://symfony.com/doc/current/reference/configuration/doctrine.html#caching-drivers

документы только упомянуть кэширование с доктриной, но есть моменты, это нужно без доктрины. Они, похоже, ничего не упоминают об этом, или это одна из тех вещей, в которых у Symfony нет обертки?

ответ

2

Установка и использование DoctrineCacheBundle:

  1. Добавить этот пакет в ваш проект как композитор зависимости:

    composer require doctrine/doctrine-cache-bundle 
    
  2. Добавить этот пакет в ядре приложения:

    // app/AppKernel.php 
    public function registerBundles() 
    { 
        // ... 
        $bundles[] = new \Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle(); 
    
        return $bundles; 
    } 
    
  3. Настроить:

    # app/config/config.yml 
    doctrine_cache: 
        providers: 
         my_apc_metadata_cache: 
          type: apc 
          namespace: metadata_cache_ns 
         my_apc_query_cache: 
          namespace: query_cache_ns 
          apc: ~ 
         memcache: 
          servers: 
           memcache01: 11211 
    
  4. Использование:

    $apcCache = $this->container->get('doctrine_cache.providers.my_apc_cache'); 
    $memcacheCache = $this->container->get('doctrine_cache.providers.memcache'); 
    

Подробнее: https://symfony.com/doc/current/bundles/DoctrineCacheBundle/usage.html Полный поставщики ссылка: http://symfony.com/doc/current/bundles/DoctrineCacheBundle/reference.html

+0

Для полноты можно добавить как настроить кэш памяти для использования с ним, так как АРС Безразлично У меня нет параметров конфигурации. – lookbadgers

+0

добавлен пример поставщика memcache –

+1

Просто быстрый комментарий, чтобы сказать, что начиная с 3.1, Symfony включает в себя свой собственный компонент кэша. Поэтому установка DoctrineCacheBundle не требуется. –

Смежные вопросы