这可能是一件非常容易的事情,但我对此感到非常困惑。
基本上,我想获得当前浏览我网站的人数。问题是,我无法计算会话。其中许多是为不同目的而创建的。 (例如,登录用户的$ _SESSION ['age']。)
此外,还有“logged_in”和“not_logged_in”人。
简而言之,我如何以最专业的方式统计我的网站中的用户?
聚苯乙烯。请注意,我将每1-5分钟运行一次该功能,获取金额,将其存储为缓存。 5分钟后,缓存将再次被替换,依此类推。因此,如果您认为这是最专业的方式,数据库连接将是可能的。
答案 0 :(得分:2)
其中一个问题是,您的PHP不知道用户何时关闭浏览器。
我在用户数据库(timestamp / datetime)中的“last_used”字段和“heartbeat”函数(jscript)的组合中做了类似的事情,它经常发送“我还活着” - 命令到服务器(每x秒),然后更新此last_used-field。它不是一个高流量的站点,但它的工作非常可靠。
然后只计算数据库中当前心跳的用户数量:
SELECT COUNT(*)
FROM your_user_table
WHERE last_used > TIMESTAMPADD(NOW(), INTERVAL -30 SECOND)
您不需要用户表,也可以使用会话表。这样的机制也可以用于其他功能,例如为用户提供动态的新消息等。