到redis的Laravel存储会话
我想将会话存储到Laravel中的redis 我是这样做的: -将会话驱动程序更改为“redis” -设置我的redis服务器 -然后使用此代码存储到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中存储数据:-
$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');