php - 使用 Redis 变量作为本地 session 变量

标签 php laravel redis

所以我的新门户项目在 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');

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

关于php - 使用 Redis 变量作为本地 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57101256/

相关文章:

redis - WAIT命令能否在Redis中提供强一致性?

asp.net - Web API缓存-如何使用分布式缓存实现无效

php - Doctrine 和 Symfony2 : WHERE a. title LIKE $array

php - 使用MySQL时的UTF8问题

php - 使用 laravel eloquent 创建子查询

Laravel 5.5 预期响应代码 250 但得到代码 "530"

php - 如何过滤字符串中的多个限制词?

php - 为 jQuery UI 选项卡创建 wordpress 简码

php - laravel 原始查询不返回结果

Redis 模块 ReJSON 与 OSS redis