当我通过symfony运行shell doctrine:cache:我的项目的clear-metadata时,redis键非常大

时间:2017-03-04 15:51:12

标签: php symfony caching doctrine-orm

当我运行shell doctrine:cache:我的项目的clear-metadata由symfony时,redis键非常大,评论是

php app/frontend/console doctrine:cache:clear-metadata 

实体是redis缓存。但是当我通过redis-cli看到redis数据时。我发现旧元数据存在。所以,我认为缓存数据继续增加。我很特别。

2 个答案:

答案 0 :(得分:0)

您可以尝试从命令行运行类似的脚本。

<?php

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

$keys = $redis->keys("*");
foreach ($keys as $key) {
    echo $key ."\n";
    $redis->del($key);
}

它可能会删除所需的内容,但对我来说非常有用。

为了记录,这个片段主要来自另一个SO答案。

答案 1 :(得分:0)

我看到这不是新帖子,但是总比没有好。您唯一需要做的就是在命令中添加--flush标志:

php app/frontend/console doctrine:cache:clear-metadata --flush

这将删除Redis数据库中的密钥。如果您使用多个数据库,并且您的实体是根据连接划分的,则可以添加实体管理器标志,该标志将通过实体管理器名称指定连接:

php app/frontend/console doctrine:cache:clear-metadata --flush --em=orm_default