0

我想在加载页面时在用户的浏览器中存储一个 cookie。然后,使用 AJAX,计算使用该 cookie 的用户数量,并每隔 1 秒左右将其发送到数据库行。这是如何实现的?

4

2 回答 2

2

因为听起来您正在实现一个聊天室,所以可以肯定地假设正在进行一些 AJAXy 轮询(客户端非常频繁地检查更新)。

一种方法可能是在数据库中保留一个 active_sessions 表。它可能看起来像这样:

create table active_sessions (
   sess_id varchar(32) primary key,
   lastseen timestamp
);

每次客户端请求更新时,插入/更新其会话 ID 的行,然后定期删除时间戳早于 T 的任何记录(对于某些 T 值,例如 30 秒或其他值)

计算表中的行数,可以很好地估计有多少客户仍然处于活动状态。

于 2010-06-10T22:51:34.720 回答
0

看看我的一个帖子!

在php中的数据库中设置会话

就在您存储数据时,向 mysql 添加时间戳并计算 time > time()=30; 的唯一行;延迟 30 秒。

于 2010-06-10T22:41:05.187 回答