结合memcache解决在线用户统计问题

现在很多网站都有统计在线人数的功能,实现的方法也有很多。

 

我以前就是采用的servlet的listener来实现的,当有一个session创建就增加一个在线用户,用户登出或session失效的时候就减少一个在线用户。这种方式的弊端在于当用户强行关闭浏览器窗口时,会出现统计不准确的情况,当然,我们可以通过设置session的timeout时间来解决。

 

今天我打算用memcache来实现在线用户的统计,因为使用缓存会更加灵活。因为缓存本身就提供了自动过期的功能。

 

可以在用户第一次访问的时候,已sessionID作为key向缓存中加入数据,并更新最近的活动时间,这样就可以实现用户在线了多长时间,上次活动是在什么时候,闲置了多久没有活动。

 

当用户登录以后,可以将用户的详细信息记入缓存中,从而可以查看在线用户的详细列表。

 

对于在SNS网站中的当前在线的好友功能设计,利用此方案也是一个很好的办法。

 

可以参考http://www.kodejava.org/examples/30.html这个网站获得更多信息。

你可能感兴趣的:(html,servlet,浏览器,活动,SNS)