刷新Laravel 4中的所有缓存

ari*_*lcr 56 php laravel

有没有办法刷新Laravel 4中的所有缓存?我正在使用文件进行缓存.我阅读了您可以使用的文档Cache::forget('key'),但是如果我需要删除所有缓存呢?

工匠命令也很有用,我认为回购上有一个问题,但不确定它是否已经实现.

谢谢!

The*_*pha 95

如果你运行php artisan list那么你可以找到所有可用的命令artisan,无论如何,有一个命令来清除它cache和它

php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)

另外,你可以使用

foreach (Cache::getMemory() as $cacheKey => $cacheValue)
{

    Cache::forget($cacheKey);
}
Run Code Online (Sandbox Code Playgroud)

更新:

Cache::flush();
Run Code Online (Sandbox Code Playgroud)

  • php artisan cache:clear可能并不总是在FileStore缓存的情况下工作,因为执行artisan命令的用户可能没有对缓存文件/目录的写权限.通常,缓存文件由Web服务器用户创建,该用户不一定与您用于运行工匠的用户相同. (5认同)
  • 截至我写这篇文章的时候,你可以使用Cache :: flush()而不管你使用的驱动程序.有关此信息,请参阅[Laravel API缓存](http://laravel.com/api/namespace-Illuminate.Cache.html). (3认同)

小智 6

Illuminate\Cache\FileStore有这个功能flush,所以你可以使用:

Cache::flush();
Run Code Online (Sandbox Code Playgroud)