Laravel的实时数据

时间:2018-02-22 16:45:21

标签: php laravel vue.js vuejs2

您好我不知道在Laravel中处理实时数据的最佳方法是什么。

我正在创建一个仪表板,用于跟踪用户从登录时开始的当前小时数。此跟踪器还将更新所有开始时间的用户的数据库记录。它将更新多列和多行。这些数据应该每秒更新一次,因为我们需要遵循时间。

我们可以使用类似crob工作的东西吗?或者我们需要第三方系统,如pusher,pubnub等。

我也在我的应用上使用vuejs。

EDIT =====================

我已经完成了每个用户的小时记录。现在,我想要的是显示所有当前用户登录,其当前和更新时间来自数据库

2 个答案:

答案 0 :(得分:1)

您可以使用broadcasting旁边Pusher来实现此目标。

https://laravel.com/docs/5.5/broadcasting#presence-channels

广播允许您创建channels,以便在用户加入或离开channel时触发事件。

一个简单的方法是:

  • 在用户登录或转到特定页面时将其添加到channe l

  • 存储他们使用会话变量或数据库等内容加入频道的时间

  • 当用户关闭网页或注销时,系统会自动从发起活动的channel中移除这些内容

  • 比较他们加入时到他们离开时的时间,看看他们登录的时间或特定页面等等。

如果您需要跟踪当前会话,您可以检查他们上次登录的时间是来自会话/数据库并比较时差

答案 1 :(得分:0)

大多数编程语言在特定任务和其他任务的弱点方面都有优势,他们说我并不是说他们无能为力。 Php是一种服务器端语言,主要用于数据库访问,主要是mysql数据库。

正如其他人所说,你需要一个前端,通常是javascript,从后端提供AJAX或Comet更新,这些更新可以用PHP编写,尽管有更好的语言来编写生成JSON输出的应用程序。 / p>

最好的解决方案可能是基于noSQL的PHP​​ SDK。

您可以尝试使用Firebase实时PHP SDK http://firebase-php.readthedocs.io/en/stable/realtime-database.html

希望它会对你有所帮助! 感谢