我让 Redis 为我通过 PHPRedis 访问的几个子域运行共享会话存储。会话 cookie 的生命周期很长,因此用户不必经常登录,但我发现我必须大约每半小时登录一次。
检查 Redis 实例显示每个键的 TTL 默认设置得非常低(大约 1500 秒)。PHPRedis 文档有这样的说法:
会话的生命周期以秒表示,并存储在 INI 变量“session.gc_maxlifetime”中。您可以使用 ini_set() 更改它。
目前尚不清楚这是指 cookie 的生命周期还是 Redis 密钥的 TTL。我将session.cookie_lifetime
和都设置session.gc_maxlifetime
为 100000 秒来运行测试,但看起来新的会话条目仍然以 Redis 中的 1500 秒 TTL 开始。
直接和Redis交互的时候如何设置TTL已经很清楚了,但是我不知道如何通过PHPRedis的会话管理器来设置这个值。有小费吗?