monitor
命令。现在我不知道该怎么办。
以下是我的配置:
# app/config/parameters.yml
parameters:
...
memcached.servers:
- { host: 127.0.0.1, port: 11211 }
# app/config/config.yml
services:
memcached:
class: Memcached
calls:
- [ addServers, [ %memcached.servers% ]]
doctrine.cache.memcached:
class: Doctrine\Common\Cache\MemcachedCache
calls:
- [setMemcached, ['@memcached']]
#app/config/config_prod.yml
doctrine:
orm:
metadata_cache_driver:
type: service
id: doctrine.cache.memcached
query_cache_driver:
type: service
id: doctrine.cache.memcached
result_cache_driver:
type: service
id: doctrine.cache.memcached
这是我的php代码:
<?php
namespace AppBundle\Controller;
use Doctrine\Common\Cache\MemcachedCache;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use AppBundle\Entity\ProductImage;
use Symfony\Component\HttpFoundation\Response;
class TestMemcachedController extends Controller{
/**
* @Route("/memcached")
*/
public function testAction(){
$memcached = new \Memcached();
$memcached->addServer('localhost',11211);
$cacheDriver = new MemcachedCache();
$cacheDriver->setMemcached($memcached);
$this->getDoctrine()->getEntityManager()
->createQuery('select image from AppBundle:ProductImage image')
->setResultCacheDriver($cacheDriver)
->useResultCache(true)
->getResult();
return new Response("<html>
<head>
<title>test</title>
</head>
<body>
hello
</body>
</html>");
}
}
ProductImage
实体有一个外键,引用Product
权利。我认为这一点无关紧要。
其他配置是默认配置。
任何建议都有帮助。