2017-01-10 76 views
1

我在laravel中構建應用程序,其中我使用Redis進行緩存。成功存儲在緩存中,但問題是,我在一個瀏覽器中運行應用程序,並執行登錄成功和存儲緩存,現在在另一個瀏覽器中它會自動登錄。使用Redis在Laravel中緩存

我使用的代碼存儲和加載緩存

if(Cache::has('mykey')) 
{ 
    return Cache::get('mykey'); 
} 
else 
{ 
    // Do some operation and store it in cache 
    Cache::put('mykey',content,10); 
    // and then return 
} 

請告訴我什麼是錯的... 由於事先

+0

您需要使用會話緩存,而不是文件緩存到單獨的客戶端緩存。 –

+1

訪問您網站的每個人的緩存始終相同。我認爲你需要的是[會話](https://laravel.com/docs/5.3/session)。 – Jerodev

回答

0

試試下面的代碼:

// Check cache first 
$catchPage = Cache::get('mykey'); 
if ($catchPage != null) { 
    return $catchPage; 
} 
else { 
    Cache::tags('tag_name')->put('mykey',$content,10); 
    // and then return 
} 

來自參考here

laravel 5.3 Docs
您可以通過店內的方法訪問各種緩存存儲。

傳遞給存儲方法的關鍵應該對應於你的緩存配置文件存儲配置陣列中列出的商店之一:

$value = Cache::store('file')->get('foo'); 

Cache::store('redis')->put('bar', 'baz', 10); 

如果需要從緩存中檢索項目,然後刪除該項目,你可以使用拉方法。像得到方法,如果該項目不存在於緩存中將返回:

$value = Cache::pull('key'); 

添加方法的項目,如果它不已經存在,只會增加緩存緩存存儲。如果項目實際添加到緩存中,該方法將返回true。否則,該方法將返回

Cache::add('key', 'value', $minutes); 
+0

謝謝你的回答@AddWeb Solution Pvt Ltd – Ravi9994

+0

我的回答解決了這個問題? –

+0

一點也不照你說的添加和拉法是有編輯值@ AddWeb解決方案私人有限公司 – Ravi9994