我想在加载页面时在用户的浏览器中存储一个 cookie。然后,使用 AJAX 计算使用该 cookie 的用户数量,并每隔 1 秒左右将其发送到数据库行。这是如何实现的?
最佳答案
由于听起来您正在实现一个聊天室,因此可以安全地假设正在进行一些 AJAXy 轮询(客户端非常频繁地检查更新)。
一种方法可能是在数据库中保留一个 active_sessions 表。它可能看起来像这样:
create table active_sessions (
sess_id varchar(32) primary key,
lastseen timestamp
);
每次客户端请求更新时,插入/更新其 session ID 的行,然后定期删除时间戳早于 T 的任何记录(对于 T 的某些值,例如 30 秒或其他)
计算表中的行数,以便很好地估计有多少客户端仍然处于事件状态。
关于PHP session 管理,使用Cookie统计用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018987/