需求:
统计当前在线人数(当前访问网站的用户)
思路:
第一步,把访客的信息存入到数据库,每次访问或者刷新页面的时候,都更新该访客在数据库中的记录,也就是更新该访客的最后活动时间。
第二步,删除很长时间 “无动作” 的访客记录,保证数据表里面的数据最新。
问题:
思路中的第一步没有问题,问题在于第二步。假设我的应用访客并发数为100万,那么我的数据访客表中的数据至少有100万条,如果每个用户每次访问都要遍历整张表,找出“无动作”的用户,然后把他的记录删掉,所耗资源太大。
需求:
统计当前在线人数(当前访问网站的用户)
思路:
第一步,把访客的信息存入到数据库,每次访问或者刷新页面的时候,都更新该访客在数据库中的记录,也就是更新该访客的最后活动时间。
第二步,删除很长时间 “无动作” 的访客记录,保证数据表里面的数据最新。
问题:
思路中的第一步没有问题,问题在于第二步。假设我的应用访客并发数为100万,那么我的数据访客表中的数据至少有100万条,如果每个用户每次访问都要遍历整张表,找出“无动作”的用户,然后把他的记录删掉,所耗资源太大。