到redis的Laravel存储会话

到redis的Laravel存储会话,laravel,session,redis,Laravel,Session,Redis,我想将会话存储到Laravel中的redis 我是这样做的: -将会话驱动程序更改为“redis” -设置我的redis服务器 -然后使用此代码存储$req->session()->put($email,json_encode($user)) 代码已成功运行。这是redis的商店。 但是,我只是简单地将代码添加到1函数中 为什么其他函数(如example testing()/check())也将setex设置为redis?我甚至没有将代码放入该函数。您可以通过以下方式在Redis中存储数据:-

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

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

代码已成功运行。这是redis的商店。 但是,我只是简单地将代码添加到1函数中


为什么其他函数(如example testing()/check())也将setex设置为redis?我甚至没有将代码放入该函数。

您可以通过以下方式在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');

您只需将会话
驱动程序
设置为redis(在.env文件中)并使用

存储会话值的步骤


要检索它们

我现在明白了。为什么他们总是为每个请求填写redis。因为在我列表中的每一条路线上(我的laravel版本是5.2),都已经包括了中间件web。是的,那就是成功。但是,它也会为每个被用户点击的方法存储。我发现,这是因为“web”中间件。但是现在,如果我想获取数据,那么如何获取数据呢?它还将数据重新设置为redis。所以,如果我之前的数据已过期6090秒。在我点击(获取数据)后,它将重新设置为7200(默认值)
session(['key', $val]); 
session('key');