您好我不知道在Laravel中处理实时数据的最佳方法是什么。
我正在创建一个仪表板,用于跟踪用户从登录时开始的当前小时数。此跟踪器还将更新所有开始时间的用户的数据库记录。它将更新多列和多行。这些数据应该每秒更新一次,因为我们需要遵循时间。
我们可以使用类似crob工作的东西吗?或者我们需要第三方系统,如pusher,pubnub等。
我也在我的应用上使用vuejs。
EDIT =====================
我已经完成了每个用户的小时记录。现在,我想要的是显示所有当前用户登录,其当前和更新时间来自数据库
答案 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
希望它会对你有所帮助! 感谢