1

pyrocms 中有一张桌子default_ci_sessions。我认为这必须使用这张表来完成。该表的字段是:

1   session_id  varchar(40)
2   ip_address  varchar(16)
3   user_agent  varchar(120)
4   last_activity   int(10)
5   user_data   text    

样本行:

1   70bb123786d01c0be696e98cb1f6622e
2   0.0.0.0
3   Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19
4   1336371726
5   a:7:{s:9:"user_data";s:0:"";s:8:"username";s:5:"admin";s:5:"email";s:22:"abc@gmail.com";s:2:"id";s:1:"1";s:7:"user_id";s:1:"1";s:8:"group_id";s:1:"1";s:5:"group";s:5:"admin";}

我正在我的本地主机上开发,并且只有一个(以上)用户注册。在看到表格的内容之前,我在想的是,该表格应该有一条记录,因为您知道 :)。但是那里已经有 120 条记录,包括来宾用户 session_ids 和我的用户(管理员)的 10 行。我认为唯一的方法是弄清楚我可以用这个last_activity领域做什么。

还有一个离题的问题:为什么那里有这么多会议?他们不是活跃的会话吗?那么我可以为每个用户名将它们全部分组并选择最大的last_activity吗?

4

1 回答 1

1

你可以考虑一个用户登录(因为你没有关于注销的信息),最后一次活动不超过 24 分钟(24 分钟是浏览器默认保持会话的时间)。

因此,在您的查询中,您将从default_ci_sessions where last_activity >= NOW() - INTERVAL '24' MINUTES...中计算这些记录

于 2012-06-01T15:11:35.607 回答