一段时间以来,这个问题一直是我的脑筋急转弯。抱歉,如果我写了很多,我只是想清楚我已经尝试过的内容等。
我将尽可能简单地解释我的问题的想法,因为复杂性是无关紧要的。我们在任何时候都可能在网站上拥有多达 80-90 个用户。他们很可能都在访问同一个页面,我将其称为 result.php。然而,他们将通过 ID 的 get 变量(result.php?ID=456)访问不同的结果。在任何时候,单个记录上的用户可能少于 3 或 4 个,并且记录超过 10000 条。
我需要知道,在小于 20-25 秒的误差范围内(这非常重要),谁在该页面上的特定 ID 上,并相应地更新页面。一旦他们不再出现在页面上,就尽快删除他们的名字。
目前,我正在使用一个调用 php 文件的 jQuery 脚本,从正在访问此特定 ID 的“当前访问”用户名的数据库中读取,并且仅当他们访问该 ID 的日期在最后 25 秒内。该文件还将删除所有超过 5 分钟的条目,以保持表格整洁。
这对 20 或 30 个用户来说没问题,但现在负载增加了一倍多,我注意到这是一种特别慢的方法。
我还可以使用哪些其他方法?有没有人有过类似情况的经验?
我们目前使用的所有东西都是用 PHP 和一点 jQuery 编码的。如果这很重要,我们正在由托管公司异地管理的服务器上运行。
我遇到了一个叫做 Comet 或 Comet Server 的东西,听起来它可能会有所帮助,但对于我的目的来说,这听起来也非常复杂,而且远远超出了我目前的理解。