我在laravel中构建应用程序,其中我使用Redis进行缓存。成功存储在缓存中但问题是,我在一个浏览器中运行应用程序并登录成功并存储缓存,现在在另一个浏览器中它将自动登录。
我使用代码存储和加载缓存
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 :(得分: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 :
您可以通过store方法访问各种缓存存储。
传递给store方法的密钥应该对应于缓存配置文件中stores存储配置数组中列出的某个存储:
$value = Cache::store('file')->get('foo');
Cache::store('redis')->put('bar', 'baz', 10);
如果您需要从缓存中检索项目然后删除该项目,则可以使用pull方法。与 get 方法一样,如果缓存中不存在该项,则会返回 null :
$value = Cache::pull('key');
add 方法只会将项目添加到缓存中(如果缓存存储中尚不存在)。如果项目实际添加到缓存中,该方法将返回 true 。否则,该方法将返回 false:
Cache::add('key', 'value', $minutes);