所以我的新门户项目在 PHP
7.2 上运行,使用 Laravel
作为框架,我想使用 Redis
作为 session 处理程序。我已经全部设置好,我认为一切正常。当我要求某人尝试登录时,我完成了所有登录设置并在主页上开始了一些工作。
设置是,当您登录时,它会在连续使用计时器后将 token 保存到数据库中。然后我使用 Redis::set('token', *token*)
和 Redis::set('token_exp', *date and time of exp*)
我知道您可以将 token 和其他东西设置为自动过期,我将在完成更多项目后切换到它。但是当身份验证方法检查并查看他们是否已登录时,它看到了我登录的 token 。
我没有意识到这些并不是基于 session 而保存的,而是公开的。我如何才能使通过 Redis
设置的内容仅适用于每个 session 而不适用于服务器范围?
我可能会使用存储在 $_SESSION 中的 key 来访问 REDIS 变量,但我觉得如果我无论如何都要使用 $_SESSION,那确实违背了使用 REDIS 的目的。
最佳答案
Redis
是直接连接到 redis 服务器的外观。使用 Redis::set
存储的任何数据都只是在 redis 实例上设置。
要在 session 上设置一些东西,你可以使用它的外观:
\Session::put('token', 'xyz');
关于php - 使用 Redis 变量作为本地 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57101256/