【发布时间】:2011-11-26 08:35:25
【问题描述】:
通常,我会通过在 php 中对每个页面加载执行查询来保存所有用户活动、页面视图和所有值。
- 现在我正在考虑将所有这些存储为会话值和 在会话结束时执行查询。但是,我不知道如何在 php 中处理这个“会话结束”事件。
我想到了一个后台进程,它在会话超时之前存储所有会话值,但我对 php 中的多线程方法一无所知,即使我听说有一些规避是可能的。
- 我想确定用户是否在没有用户的情况下处于非活动状态 触发(如页面加载)并将所有会话值保存在 会话结束,在超时之前。
这样可以节省数据库引擎的一些工作量,如下所示: 一个用户查看了很多页面,我增加了会话中的值,而不是执行类似的查询
update pageviews set numberofviews=numberofviews+1
在每个页面加载时。
- 问题是这样的:“如何在 php 中处理会话结束事件 没有用户活动?”
对实际问题的解决方案也表示赞赏。无论与粗体问题的相关性如何。 (我还没有开始编写代码,我的问题不是关于错误修复。)
可能的解决方案:
- 将数据存储在内存类型的mysql表中并移动 偶尔记录到另一个表。
- Php has a session destroy handler here
我找到了php session handler functioon,但文档没有说明它是否可以为回调参数设置空参数?
如果我为 $callback 参数输入空参数,我会失去标准功能吗?
我只想更改会话 $destroy 事件。我现在需要这方面的帮助。
相关帖子: RP1
【问题讨论】:
-
这个问题与多线程有什么关系。
-
apc、memcache、redis 中的工具都不符合您的要求?
标签: php events session event-handling