更新,24OCT2011:我把它移到了ServerFault中,这可能是更合适的,而这正是我要发布这个的地方。但是,我真的找不到“转移到SF”选项,我只是在那里复制它。任何人都可以帮助实际移动它?Memcache + PHP会话调优:memcache如何过期密钥?
我已经做了一些研究,并没有找到明确的答案。
我们有一个使用PHP + Memcache会话处理程序的网络应用程序。
我有几个问题,都是相互关联的,但最终我的问题是,“为什么PHP会话显然没有过期,当我们认为他们应该是?即最终用户应该在设定时间之后退出应用程序,但不是。
这里是点,请帮我接他们,并告诉我在哪里,我错了:
- 我的理解是,内存缓存到期根据设定的时间(按键,以秒或Unix时间戳较大值)。
- 到期是懒惰 - 即没有事先
- 删除的PHP memecache会话处理程序使用sessions.gc_max_lifetime设置内存缓存密钥过期。 idk,也许它不?
- Memcache应该在提供请求的密钥并且已经过期时不提供服务(然后也可以删除它?)。但至少不会为它服务。
- 这种不服务的行为应该对PHP等同于删除的会话并且用户被注销。
用户没有被注销。
我怎样才能调试呢? Memcache并不完全透明。
更新 我应该指定未运行的示例大小写是会话超时设置为两小时的站点。一个示例用户会在晚上继续使用该站点,然后在8-10小时后回到站点并仍然登录。
您知道您不必等待memcache密钥过期,您可以在任何时候将其删除吗? – fire
你可以直接与Memcache沟通......在Telnet你有多好? –
我使用了telnet界面。问题在于找到我想要的万匙钥匙中的钥匙。 – JDS