laravel cache clear有时候不起作用

21 浏览
0 Comments

laravel cache clear有时候不起作用

在作业开始时,我使用Artisan::call('cache:clear')来清除缓存。

有时候会出现以下错误,有时候又会正常工作:

清除缓存失败。请确保您具有适当的权限。

0
0 Comments

问题原因:可能有多个请求同时运行,导致尝试访问的文件无法访问。

解决方法:不要运行控制台命令,而是清除需要清除的特定缓存。每次运行队列中的项目时清除缓存违背了Laravel缓存系统的原则。

我们有一个包含收益结果的仪表板,我们有一个在中午运行的计划任务来清除缓存以更新图表中的结果,而不清除缓存则显示缓存值。

解决方法:在清除缓存之前,先检查缓存是否存在。如果存在,则清除缓存,然后更新结果。这样可以避免在缓存不存在时尝试访问缓存文件。

代码示例:

if (Cache::has('earnings')) {
    Cache::forget('earnings');
}
// 更新结果

0