很多时候需要做网站的在线人数统计,由其是社交网站,有了在线人数统计会给用户更好的体验,以下是我的思路,在这里写出来,只有一个目的,获得更好的解决思路我是利用数据库来完成这个功能,想要达到最快的速度,我就直接使用MYSQL内存表来保存在线会员的记录,
1:当会员登录时(包含自动登录),便去查找该会员是否存在于内存表当中,如果存在,则更新在线表当中的时间,如果不存在,则插入相应数据到内存表当中去2:在用户退出时,我没有进行办法实时的更新,因为用户有可能直接关闭网页离开,对于这种,我无能为力,所以我只能根据时间段来解决这个问题,我写一个计划任务,每个半个小时,执行一次该程序,该程序主要的作用是扫描当前在线表当中,更新时间是否有小于当前时间10分钟或者多少分钟(这个根据具体情况自定义)的,如果有,则直接删除该条记录,这样便保证了,大概的在线人数的统计
我在这里只是抛砖引玉,所以就这个问题希望各位能说出自己的见解...........
1:当会员登录时(包含自动登录),便去查找该会员是否存在于内存表当中,如果存在,则更新在线表当中的时间,如果不存在,则插入相应数据到内存表当中去2:在用户退出时,我没有进行办法实时的更新,因为用户有可能直接关闭网页离开,对于这种,我无能为力,所以我只能根据时间段来解决这个问题,我写一个计划任务,每个半个小时,执行一次该程序,该程序主要的作用是扫描当前在线表当中,更新时间是否有小于当前时间10分钟或者多少分钟(这个根据具体情况自定义)的,如果有,则直接删除该条记录,这样便保证了,大概的在线人数的统计
我在这里只是抛砖引玉,所以就这个问题希望各位能说出自己的见解...........
谢谢你的回答,之前有考虑过用这个,但担心一个问题就是memcache在单机上的性能到底咋样,没有测试过........