我让Redis为我通过PHPRedis访问的几个子域运行一个共享会话存储。会话cookie的生命周期很长,因此用户不必经常登录,但我发现无论如何我必须每半个小时登录一次。
查看Redis实例表明,每个键的TTL默认设置很低(大约1500秒)。PHPRedis文档有这样的说法:
会话的生存期以秒表示,并存储在INI变量"session.gc_maxlifetime“中。您可以使用ini_set()来更改它。
目前还不清楚这是指cookies生存期还是Redis键的TTL。我将session.cookie_lifetime和session.gc_maxlifetime设置为100000秒来运行测试,但是看起来新的会话条目仍然以Redis中的1500秒TTL开始。
在与Redis直接交互时,很清楚如何设置TTL,但我不知道如何通过PHPRedis的会话管理器设置这个值。有小费吗?
发布于 2016-09-15 21:15:15
吻网是对的,不管ini_set('session.gc_maxlifetime', 100000);不起作用的原因,但是改变php.ini的设置确实奏效了。
https://stackoverflow.com/questions/39496617
复制相似问题