我希望显示我网站用户的在线状态。我不需要显示上次活动的确切时间。但肯定会显示用户过去是否有任何活动,比如 5-10 分钟。
我在考虑创建这个系统时遇到的问题如下:
如果我要使用 onlineUsers 创建一个 sql 表,并在每个特定页面或每个 x 页上更新表(以防止过多的 sql 更新),那肯定会给我一个非常精确的自上次活动以来的分钟数。但这会导致与数据库的连接过多,最终会降低网站速度。
我可以通过制定一些智能方程式以某种方式最小化这个问题,只让用户更新他们的 onlineUsers 行,每次点击 100 页,这不需要太多 php 资源,但这仍然是一种脾气暴躁的方式。
我还可以以某种方式集成某种作物列表系统,每 10 分钟检查一次哪些用户在线,并更新所有表格。但我不确定这将如何解决,如何检查哪些用户在过去 10 分钟内完全处于活动状态,而实际上没有使用他们的 id 更新任何表行。
那好吧。我确信这样的系统之前已经制作了数百次。所以应该有人能够告诉我制作这样一个系统的最佳方法,这将需要尽可能少的数据库资源。
- 编辑 * 我正在使用 Cookie 来设置用户登录。
谢谢您的帮助 :)