在线会员如何统计,用什么方法呀,这里说的统计,并非只统计数量,如果只统计数量的话,在Global.asax中用Session["zaixianshu"]=Convert.ToInt32(Session["zaixianshu"])+1或Session["zaixianshu"]=Convert.ToInt32(Session["zaixianshu"])-1可实现。
问题是需要统计出有多少在线会员,并且要把这些会员资料输出到客户端浏览器,这就要求在后台数据库中记录在线会员的ID。
现在我有个思路,在后台建立一个表t_zaixian,两个字段,UID和guoqi,分别表示用户ID和过期时间,Session登录时效为20分钟,用户登录时,检测表中是否有该用户ID的记录,若无则建立一条在线记录,两个字段的值分别为:用户ID、登录时间加上20分钟。
登录后的用户每次与服务器交互,则更新一次过期时间(即交互时间+20分钟),这样就能记录用户的在线状态。如果用户超过20分钟不再与服务器交互,则后台用SQL作业删除时间过期的记录。
这样的设计,问题的弊端非常明显,一是每一次交互都更新过期时间,试想一下,每点一个页面按钮都需要更新,服务器的压力非常大,二来是SQL的作业,好像作业不能时时监控吧,请问SQL作业能随时删除过期的记录吗?
反正我只能想出这样的思路来了,菜死了,嘿嘿……
请问各位大侠,在线用户的统计到底用的什么思路呀?不要求非常精确,但起码思路要在轨道上呀,你说是吧?感谢大大们啊,谢谢了!