当前位置: 首页 > 知识库问答 >
问题:

当php使用Redis存储会话时,它如何处理被破坏的会话?

陶飞鸿
2023-03-14

我已经编辑了php配置以保存Redis上的会话。一切正常,但我意识到,有一天已经过去了,通过在redis-cli上运行命令键*,显示了一个巨大的php-session条目列表。我的问题是php是否会在任何时候删除这些键,或者我必须做一些事情来防止这种情况发生。我对此很担心。

共有1个答案

权韬
2023-03-14

我做了一些测试,可以告诉您是的,PHP将其会话管理器系统添加的条目移到Redis中。您可以通过更改/etc/php.ini中的选项session.gc_maxlifetime=XX来验证这一点,其中XX是收集过期会话的时间(以秒为单位)。

 类似资料:
  • 问题内容: 我听过关于此主题的不同回答,那么销毁PHP会话的肯定方法是什么? 在最简单的情况下,这是否足以真正终止用户与服务器之间的会话? 问题答案: 要销毁会话,您应该采取以下步骤: 删除会话数据 使会话ID无效 为此,我将使用以下代码: 为了确保会话ID无效,您应该只允许脚本启动的会话ID。因此,设置一个标志并检查它是否被设置: 此外,您可以使用此时间戳定期交换会话ID,以缩短其寿命:

  • 我ogin.php 指数php 我做了一个登录脚本,打开,如果密码是正确的,我ndex.php网站。当第一次通过登录脚本打开ndex.php网站时,一切正常,会话设置完毕。但是在我刷新页面后,会话会被破坏,并且没有设置。那么我如何保存会话,这样它就不会因为刷新浏览器而被破坏呢?

  • 问题内容: 我正在尝试在我的Express应用程序中使用redis进行会话。 我执行以下操作: 稍后,在我的应用程序中,如果执行以下操作: 我得到: 无法读取未定义的属性“ someProperty” 这表明req.session是未定义的 (我可以从config部分的console.log条目中看到) 我肯定有redis运行,并且可以看到我的应用最初连接到它(使用redis-cli监视器) 问题

  • 有人知道如何在Redis的Spring会话中添加会话破坏事件吗?我读到正常的方法是不可能的。我愿意这样做,因为我需要在一个会话被破坏(超时或注销)后做一些清理过程。我真的很感激你们的帮助,谢谢你们。

  • 问题内容: 如果一个用户已经登录并尝试在新实例中再次登录,我希望它注销另一个用户实例。我不希望同一用户在我的应用程序上登录两次。 当前会话存储在Redis存储中,我正在使用express / connect处理会话存储。可以用来破坏会话的可用功能之一如下: 但是,我需要在调用.destroy()之前找到该会话ID。在Redis中,用户名存储为会话的一部分。 问题:是否可以查询Redis以基于用户名

  • 我必须添加一个WordPress安装到我的CodeIgniter系统,所以我把它放在一个名为的子图中,并在我的中排除了该文件夹。一切都很好。 我已经将所有的WordPress表和放在我的CodeIgniter数据库中,前缀为。 我现在已经将WordPress博客头文件加载到,就像这样; 并在我的控制器中创建了一个注册方法,以实际链接到我的。我这样做是因为我想使WordPress登录/注册过时,并从