在 laravel PHP 中实现 last_login 或 last_active

Implementing a last_login or last_active in laravel PHP

我在 Laravel php 5.2 上有一个网络应用 运行 为了检查我的用户 activity 和返回的用户,我在我的用户 table 中实现了一个 last_login 字段和一个将在每次登录时更新它的侦听器。

一切都很好,但发生的是我有一个 'remember me' 令牌,当用户已经登录并 returns 使用令牌的应用程序时, last_login 未更新。

我想在每次用户操作时更新这个字段,但它似乎没有那么优化,并且会导致一些性能问题。关于如何实现这个 'last_active' 的任何想法,对性能几乎没有影响

正如您自己建议的那样,我会(并且确实)在每个影响用户的 pageload/and ajax 调用中更新最后一个活动时间戳......您将需要谈论数百万并发用户是一个问题...但是无论如何您都会进入负载平衡 Web 和 DB 服务器的领域。

如果您认为高负载是数百甚至数千个并发用户,则更新时间戳不会有什么影响,只需确保用户 table 保持简单且合理索引即可。

此外,另一种保持良好状态的好方法(取决于您的架构)是使用 2 个连接……一个用于只读查询,一个用于更新、插入等。