【发布时间】:2013-01-14 16:48:30
【问题描述】:
我目前维护一个用户数据库表,登录后我用他们的 ID 和 login_time 更新表。这在一定程度上有效,但目前我无法判断用户自登录后是否一直处于活动状态或持续了多长时间。
有没有更好的方法来获取过去 X 分钟内活跃的用户的完整列表?
【问题讨论】:
-
您可以在表格中添加“最后一次看到”列,并在每次用户提出新请求时刷新该列
-
@Pekka 这需要另一个数据库调用,所以我不确定这是最好的解决方案。
-
@Pekka웃: 如果用户登录但没有更改页面怎么办?
-
对大多数网站来说,发出数据库请求应该没问题。如果您有 巨大 流量,您可能希望在某个时候切换到内存缓存,但数据库调用不会对中低流量站点造成任何性能问题。任何没有静态缓存的 CMS 驱动的网站都会在每个请求中生成几十个
-
@Paul,“访问”的结束只能通过显式注销或超时来定义。看这里:stackoverflow.com/questions/679657/find-number-of-open-sessions