php - 在 PHPRedis session 上设置过期

标签 php session redis phpredis

我让 Redis 为我通过 PHPRedis 访问的几个子域运行共享 session 存储。 session cookie 的生命周期很长,因此用户不必经常登录,但我发现无论如何我必须大约每半小时登录一次。

检查 Redis 实例表明每个键的 TTL 默认设置得非常低(大约 1500 秒)。 PHPRedis 文档是这样说的:

Sessions have a lifetime expressed in seconds and stored in the INI variable "session.gc_maxlifetime". You can change it with ini_set().

不清楚这是指 cookie 的生命周期还是 Redis key 的 TTL。我将 session.cookie_lifetimesession.gc_maxlifetime 都设置为 100000 秒来运行测试,但看起来新 session 条目在 Redis 中仍然以 1500 秒 TTL 开始。

直接与Redis交互时如何设置TTL已经很清楚了,但是我不知道如何通过PHPRedis的 session 管理器来设置这个值。有什么建议吗?

最佳答案

kiss-web 是正确的,无论出于何种原因 ini_set('session.gc_maxlifetime', 100000); 都不起作用,但是更改 php.ini 中的设置就成功了。

关于php - 在 PHPRedis session 上设置过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496617/

相关文章:

java - 路线 [product.store] 未定义。 (查看: C:\xampp\htdocs\hijabrent\resources\views\product\create. blade.php)

php - 函数结构不遵循时遇到问题(PHP)

java - 在刷新之前,Struts2 session 数据在 JSP 中不可用

php - Drupal 8 覆盖 session 管理

redis - Stackexchange.Redis,我可以一次发布到多个 channel 吗?

php - symfony2中使用redis缓存重复请求

Redis:不允许使用 ERR 命令 SLAVEOF

php - SQL 查询检查从今天起 2 周后的日期

php - 如何将代码包装在函数内使该代码不起作用?

javascript - 当管理员用户的帐户超时时,如何提醒他们