laravel - 使用 Redis 在 Laravel 中缓存

标签 laravel session caching redis

我在 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
}

请告诉我哪里出了问题... 提前致谢

最佳答案

试试下面的代码:

// 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);

关于laravel - 使用 Redis 在 Laravel 中缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41566770/

相关文章:

laravel - 如何删除所有排队的作业,因为它会导致错误?

php - 更改查询变量,然后再次执行

node.js - Express-session - session 的并发修改

http - 浏览器的 "F5"和 "Ctrl + F5"刷新会产生什么请求?

java - 在java应用程序中仅缓存浏览器中的图像而没有.htaccess文件

javascript - FullCalendar 从数据库中获取事件

php - 获取预期的目标 url 而不会丢失中间件中的值

asp.net-mvc - ASP.NET MVC : Caching combobox

mysql - Laravel 5 replicate() 处理具有唯一属性的列

php - 2 个并发 AJAX 上的 CodeIgniter $this->session->set_userdata()