清除 Symfony 中的缓存:'cache:clear' 还是 'rm -rf'?
和 之间的区别是什么?控制台命令非常慢。Bash命令很快。所以。。。为什么使用代替 ?./bin/console cache:clear --env=prod
rm -rf var/cache/prod/*
cache:clear
rm
和 之间的区别是什么?控制台命令非常慢。Bash命令很快。所以。。。为什么使用代替 ?./bin/console cache:clear --env=prod
rm -rf var/cache/prod/*
cache:clear
rm
cache:clear
擦除以前创建的缓存项,但也会执行缓存预热。在此之后,由于缓存已经预先填充,因此应用程序应该加载得非常快。
另一方面,只做工作的一部分。在此之后,当您尝试加载应用程序时,您应该注意到性能影响。rm -rf
我还想指出另一件事:权限。例如,如果您已登录,并且您没有通过(或任何其他方法)设置访问权限,则很可能会创建拥有的缓存项目。这可能是一个问题,一下。root
setfacl
cache:clear
root
希望这会有所帮助...
“cache:clear”命令不仅会删除缓存,而且它们通常会构建更新的缓存数据(预热),以便symfony不必在第一个请求出现后创建一个缓存数据,这就是为什么它比仅仅通过“rm -rf”删除缓存文件夹下的文件需要更多的时间。即使您可以更快地完成该命令,如果您没有使用此命令提前创建缓存,则处理第一个请求也需要一些时间。
http://symfony.com/doc/current/console/usage.html
所以,通常最好运行 cache:clear,至少在部署的整个过程中是这样。我认为,您使用 rm 命令的情况通常仅在某些文件权限出错时(即,您可能使用错误的用户运行了命令)并且没有剩余的选择。