Symfony2主义清除缓存

mor*_*ebi 34 php caching doctrine symfony

我需要在Symfony 2中清除我的学说缓存.

在命令行中必须有一些方法来清除缓存.

或者我应该在哪里找到并删除属于缓存的文件?

ami*_*jer 114

app/console
Run Code Online (Sandbox Code Playgroud)

将列出你如何做到这一点

 app/console doctrine:cache:clear-metadata 
 app/console doctrine:cache:clear-query  
 app/console doctrine:cache:clear-result 
Run Code Online (Sandbox Code Playgroud)

对于symfony 3+:

 php bin/console
Run Code Online (Sandbox Code Playgroud)

和命令列表(从项目目录中复制/过去):

 php bin/console doctrine:cache:clear-metadata 
 php bin/console doctrine:cache:clear-query  
 php bin/console doctrine:cache:clear-result
Run Code Online (Sandbox Code Playgroud)

  • 请注意,你总是可以使用`app/console list`来显示所有命令,或者'app/console list doctrine`来显示'doctrine'命名空间中的命令 (2认同)
  • 我在 prod 环境中尝试了 `doctrine:cache:clear-result`。它不工作。我也试过`bin/doctrine orm:clear-cache:result`。它也不起作用。我正在使用`memcache`。 (2认同)

Ant*_*tho 10

如果你想在你的代码中做到这一点(来自Doctrine的文档):

如果您只想删除所有缓存条目,可以使用deleteAll()方法执行此操作.

    <?php
    $cacheDriver = new \Doctrine\Common\Cache\ArrayCache();
    $deleted = $cacheDriver->deleteAll();
Run Code Online (Sandbox Code Playgroud)

  • 缓存刷新有何区别? (2认同)
  • 此代码创建一个新的缓存驱动程序。它应该利用配置中的当前 QueryCacheProfile 或结果缓存实现。如果使用 Redis 或 Memcached,它不会神奇地清除应用程序中的缓存。 (2认同)