我正在使用 Javascript、PHP 和 mySQL 编写一个相当复杂的项目管理系统。所有用户都存储在一个 mySQL 表中,当他们登录时,我在 PHP 中设置了一个会话变量并记录了他们上次登录的时间。我这样做只是为了让人们无法通过按 F5 来增加访问次数。
我希望所有登录的用户都能看到当前登录到该站点的所有其他用户的列表。
我能看到解决这个问题的唯一方法是触发一个 PHP 脚本(比如每 10 秒),它会做两件事。将当前用户的当前时间记录到 mySQL 表中,然后查看所有其他用户的最后记录时间。上次登录时间少于当前时间前 20 秒的任何人都将显示为已登录。
我知道如何在 Javascript、Ajax 等中使用计时器来完成所有这些工作,但在我看来,这似乎是一种不太优雅的方式来完成我需要的事情。
我的问题:
这是实现我想要的最佳方式吗
为每个用户每 10 秒发送一次 ajax 调用和更新 mySQL 数据库是一种好的编程习惯吗?