【问题标题】:Laravel store session to redisLaravel 存储会话到 redis
【发布时间】:2017-11-14 15:19:52
【问题描述】:

我想将会话存储到 Laravel 中的 redis。

我是这样做的: - 将会话驱动程序更改为“redis” - 设置我的 redis 服务器 - 然后使用此代码存储$req->session()->put($email, json_encode($user));

代码运行成功。它是存储到redis的。 但是,我只是简单地将代码添加到 1 个函数中。

为什么像testing()/check()这样的其他函数,也setex到redis?我什至没有将代码放入该函数中。

【问题讨论】:

  • 我现在明白了。为什么他们总是为每个请求填充 redis。因为在我列表中的每条路线(我的 laravel 版本是 5.2)上,都已经包含了中间件 web。 stackoverflow.com/questions/37417593/…

标签: laravel session redis


【解决方案1】:

您可以将会话 driver 设置为 redis(在您的 .env 文件中)并使用

session(['key', $val]); 

存储会话值

session('key'); 

检索它们

【讨论】:

  • 是的,成功了。但是,它也会存储用户点击的每个方法。我发现那是因为“网络”中间件。但是现在,如果我想获取数据,如何获取数据,它也会将数据重新设置为redis。因此,如果我之前的数据已过期 6090 秒。在我点击(获取数据)后,它将再次重新设置为 7200(默认)
【解决方案2】:

您可以通过这种方式将数据存储在 Redis 中:-

use Illuminate\Support\Facades\Redis; // add in top of controler before class
      or
use Redis;
//put this in function
$redis = new Redis();
$redis->set('boo','Have beer and relax!')
$redis->get('boo');

【讨论】:

    猜你喜欢
    • 2018-02-10
    • 2015-06-18
    • 2020-05-31
    • 1970-01-01
    • 2012-08-10
    • 2012-09-25
    • 2021-05-22
    • 2015-09-18
    • 1970-01-01
    相关资源
    最近更新 更多