在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";}
我正在我的localhost上开发,只有一个(上面)用户注册。在我看到表的内容之前我在想的是,因为你知道:),该表应该有一条记录。但是那里已有120条记录,其中包括访客用户session_ids和10行用于我的用户(admin)。
我认为唯一的方法是弄清楚我可以用last_activity
字段做些什么。
还有一个偏离现实的问题:为什么那里有那么多会话?他们不是活跃的会议吗?那么我可以为每个用户名对它们进行分组并选择最大的last_activity
吗?
答案 0 :(得分:1)
您可以考虑用户登录(因为您没有关于退出的信息),最后一次活动不超过24分钟(24分钟是浏览器默认持有会话的时间)。
因此,在您的查询中,您将从default_ci_sessions
where last_activity >= NOW() - INTERVAL '24' MINUTES
...