[英]Symfony2 doctrine clear cache
app/console
将列出您的操作方法
app/console doctrine:cache:clear-metadata
app/console doctrine:cache:clear-query
app/console doctrine:cache:clear-result
对于symfony 3+:
php bin/console
和命令列表(用于从项目目录复制/粘贴):
php bin/console doctrine:cache:clear-metadata
php bin/console doctrine:cache:clear-query
php bin/console doctrine:cache:clear-result
如果您想在代码中执行此操作(根据Doctrine的文档 ):
如果只想删除所有缓存条目,则可以使用deleteAll()方法删除。
<?php $cacheDriver = new \\Doctrine\\Common\\Cache\\ArrayCache(); $deleted = $cacheDriver->deleteAll();
如果您使用APC,也可以只调用代码
<?php
$deleted = apc_clear_cache() && apc_clear_cache('user');
在同一台服务器上的php页面中。 这是Antho答案中的deleteAll()方法的作用,但是您不依赖于教义类。 顺便说一句:完整的缓存将被刷新-以防万一您将其用于非Doctrine的东西。
我以为我会疯狂使用教义结果缓存-最后,我不得不重新启动memcached。
我知道这篇文章的标题是Symfony 2,但是对于那些来自Google的人来说,如果您拥有Symfony 3+,它将是:
bin/console
相对于:
app/console
也许这有点晚了,但是在我的情况下,学说并没有在生产环境中生成代理类,因为我将auto_generate_proxy_classes
更改为true:
#symfony2&3 app/config/config.yml
#symfony4 config/packages/doctrine.yaml (by default true since 4.2)
doctrine:
orm:
auto_generate_proxy_classes: true #"%kernel.debug%"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.