【问题标题】:Is possible to set a memcached expire key when php session expire?php会话过期时可以设置memcached过期键吗?
【发布时间】:2016-07-14 06:15:53
【问题描述】:

当用户 php 会话过期时,我需要同时使 memcached 数组中的某些数据数组无效(过期)。我也将 memcached 用于 php 会话。 为什么我根本不在 $_SESSION 中存储数组?因为即使在 ajax 中,所有数据都在 http 标头中保留/发送,而外部 memcached 数组并非如此。 php会话过期时可以设置memcached过期键吗?

【问题讨论】:

  • 只是出于好奇,为什么会有这个要求?

标签: php session caching memcached


【解决方案1】:

您可以为session_destroy 实现custom session handler

当一个会话被专门销毁时,PHP 会调用销毁 带有会话 ID 的处理程序。

PHP 会不时调用 gc 回调来使任何会话过期 根据设置的会话最大生命周期记录。这个套路 应该从持久存储中删除最后的所有记录 访问时间超过 $lifetime。

在此自定义处理程序中,您可以清除 memcached 中所有过期的用户数据。

【讨论】:

  • 我应该提到我也将 memcached 用于我的 php 会话,我编辑了。
  • 感谢这次更新,但它本质上并不了解会话存储,因为 memcached 密钥彼此之间没有直接关系。您可以尝试使用自定义会话处理程序,或者等到未记录的用户数据被驱逐
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 2011-04-07
  • 1970-01-01
  • 2011-10-23
相关资源
最近更新 更多