2016-10-22 109 views
4

我有這樣的一段代碼,我認爲會記得緩存永遠:Laravel緩存永遠記住

$setting = \Cache::remember('website_description', 0, function() { 
    return App\Models\Setting::where('name', 'website_description')->first(); 
}); 

但它不記得了,有人告訴我,通過0記憶功能將使它永遠記住。由於這不起作用,我可以通過其他方式將項目永久放入緩存中嗎?

回答

15

只要改變rememberrememberForever和刪除時間參數

$setting = \Cache::rememberForever('website_description', function() { 
      return App\Models\Setting::where('name', 'website_description')->first(); 
     }); 

Referance for rememberForever

2

你可以試試這個:

if (! \Cache::has('website_description')) { 
    \Cache::forever('website_description', App\Models\Setting::where('name', 'website_description')->first()); 
}