重载页面后删除了Laravel 5.5缓存文件

时间:2017-10-31 14:31:49

标签: laravel caching

首先,我对不起我的英语。

我正在使用Laravel 5.5进行项目。*。当我加载用户仪表板索引时,该函数返回一个包含一些信息的视图。当这个视图完全加载时,我执行一个AJAX调用,它会给我一个图表。

到目前为止一直很好,虽然它持续了太多秒才能完成。这就是我想使用缓存(文件类型选项)的原因。

问题在于,当我重新加载页面时,似乎Laravel删除了所有缓存文件并尝试重复所有步骤,而不是使用缓存中保存的所有数据。我试图在没有成功的情况下搜索有关此问题的信息。

有人知道如何解决吗?

PS:可能我的代码稍后会有所改进,但这里的内容是关于缓存

这是我的代码的一部分

if(!cache()->has('incomes') || !cache()->has('total') || !cache()->has('dates'))
        {
            $end_date = Carbon::now();
            $start_date = Carbon::now()->subDays(30);

            if(!cache()->has('dates'))
            {
                $formated_dates = $this->generateDateRange($start_date, $end_date,'d/m/Y');
                cache()->put('dates', $formated_dates, $this->getDiffInMinutes());

            }

            if(!cache()->has('incomes') || !cache()->has('total'))
            {
                $dates = $this->generateDateRange($start_date, $end_date,'Ymd');
                $response = json_decode($this->graphics->getDataIncomeGraphics($dates, 1,1,1)->getBody()->getContents());


                $success = ($response->success <= 0) ? 0 : 1 ;
                if(!$success)
                {
                    $strErr = 'ERROR';
                    $incomes = '';
                    return response()->json([
                        'success' => $success,
                        'error' => [$strErr],
                        'incomes' => $incomes,
                    ]);
                }

                $minutes = $this->getDiffInMinutes();
                cache()->put('incomes', $response->incomes, $minutes);
                cache()->put('total', $response->total, $minutes);
            }
        }

        return response()->json([
            'success' => $success,
            'error' => [$strErr],
            'incomes' => cache('incomes'),
            'dates' => cache('dates'),
            'total' => cache('total'),
        ]);

先谢谢大家。

1 个答案:

答案 0 :(得分:0)

最后我发现了问题和解决方案。我在其中一个部分中出错,我试图在用户点击退出按钮后刷新缓存。

非常感谢蒂姆的回答,很抱歉打扰了你们所有人。