我试图将数据存储在缓存中,但是当我检索缓存时,它返回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
有什么想法吗?
谢谢。
答案 0 :(得分:0)
CACHE_DRIVER=array
仅将数据存储在同一请求中使用的功能的缓存中,并在将响应发送到浏览器后立即过期。
如果您要访问多个请求中的缓存数据,可以使用CACHE_DRIVER=file
,这会将您的数据保存在以后可以访问的文件中。