缓存中存储的数据为空(缓存驱动器:数组)

时间:2018-12-05 03:07:31

标签: caching laravel-5.6

我试图将数据存储在缓存中,但是当我检索缓存时,它返回null。

我的缓存驱动程序是CACHE_DRIVER=array

这是我的控制器...

    public function index(Request $request){
        view()->share('page_sub', 'Webhhook');

        $data = Cache::get('repo');
        dd($data);

        return view('webhook.index', compact('data'));
    }



    public function handle(Request $request){

        // $data = $request;

        $admins = User::whereHas('roles', function($q){$q->whereIn('roles.name', ['superadmin']);})->get();

        $data = [
            'id' => $request['repository']['id'],
            'name' => $request['repository']['name'],
            'tags_url' => $request['repository']['tags_url'],
            'archive_url' => $request['repository']['archive_url'],
            'updated_at' => $request['repository']['updated_at'],
        ];

        $now = \Carbon\Carbon::now();

        $repo_data = cache('repo');

        \Log::info($repo_data);

        if ($data['updated_at'] != $repo_data['updated_at']) {
            Cache::put('repo', $data, $now->addMonth(1));
        }

        foreach($admins as $user){
            $user->notify(new  WebhookNotification($repo_data));
        }
    }

当我从此dd($data) $data = Cache::get('repo'); null

有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

CACHE_DRIVER=array仅将数据存储在同一请求中使用的功能的缓存中,并在将响应发送到浏览器后立即过期。

如果您要访问多个请求中的缓存数据,可以使用CACHE_DRIVER=file,这会将您的数据保存在以后可以访问的文件中。