我刚刚创建了一个带有 php 会话的用户登录系统,现在用户可以注册并登录到站点并做其他事情......
现在我想创建 online.php 它将获取所有在线用户。我几乎在 google 和 stackoverflow 中搜索所有内容,但没有成功。
好的,现在我想描述我想以高性能创建的系统。当用户登录时,我们只需更新表user
。lastlogin
这是一个时间戳,然后在 online.php 中我们选择 * 每个时间间隔 < 5 分钟的用户。为此,我可以lastlogin
在用户加载每个页面时更新数据库中的这个时间戳字段,这需要很多 mysql 查询来完成这项工作......然后在每个页面加载中我必须更新
更新
user
集last
=now()
这将花费我很多 mysql 查询。现在我正在寻找另一种方式,比如使用会话或我在这个链接中找到的东西
“通常的解决方案是在表中存储一个时间戳,每次用户执行某项操作时都会更新该时间戳。具有最近时间戳(例如五分钟)的用户显示为已登录,其他所有人都已注销。
它甚至不必在每次页面加载时都更新。在会话中保留最后一次更新时间的时间戳,并且仅在数据库标志即将到期时更新表。”
但不幸的是,答案并没有太大帮助,我需要一个示例或更多关于此的描述。