将Redis变量用作本地会话变量

时间:2019-07-18 19:12:06

标签: php laravel redis

因此,我的新门户项目在PHP 7.2上运行,使用Laravel作为框架,并且我想使用Redis作为会话处理程序。我已经全部设置好了,我认为一切正常。当我要求某人尝试登录时,我已完成所有登录的设置并开始在主页上进行一些工作。

该设置是,当您登录时,它会在使用计时器连续时将令牌保存到数据库中。然后,我使用Redis::set('token', *token*)Redis::set('token_exp', *date and time of exp*)我知道您可以设置令牌和东西自动过期,在完成更多项目后,我将切换为它们。但是当身份验证方法去检查它们是否已登录时,它看到了我登录的令牌。

我没有意识到这些不是基于会话保存的,而是公开的。如何做到这一点,使通过Redis设置的内容仅针对每个会话,而不针对服务器范围?

我可能可以使用存储在$ _SESSION中的密钥来访问REDIS变量,但是如果我仍然要使用$ _SESSION,我觉得那确实违背了使用REDIS的目的。

1 个答案:

答案 0 :(得分:0)

Redis是直接连接到Redis服务器的外观。使用Redis::set存储的所有数据都只需在redis实例上设置即可。

要在会话中设置某些内容,可以使用其外观:

\Session::put('token', 'xyz');

文档:https://laravel.com/docs/5.8/session#storing-data