如何在没有查询的情况下直接在控制器中使用缓存(orm缓存驱动程序)?
http://symfony.com/doc/current/reference/configuration/doctrine.html#caching-drivers
这些文件只提到了教条的缓存,但有时候没有教条就需要它。他们似乎没有提到这方面的任何内容,或者它是Symfony没有包装的观点之一?
答案 0 :(得分:2)
安装并使用DoctrineCacheBundle:
将此捆绑包作为作曲家依赖项添加到项目中:
composer require doctrine/doctrine-cache-bundle
在您的应用程序内核中添加此包:
// app/AppKernel.php
public function registerBundles()
{
// ...
$bundles[] = new \Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle();
return $bundles;
}
配置:
# 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
使用它:
$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