动态数据更新

Dynamic data updating

我正在制作一个应用程序,它访问数据库并通过 PHP 脚本每隔几秒更新一次数据,问题是它目前总是更新所有数据,我想知道如何编程动态更新数据并决定更新哪些数据和不更新哪些数据的东西,所以它基本上以某种方式跟踪变化。那么,我如何才能最好地完成这样的事情?

我认为应该有一些地方已经问过这个问题,但我找不到它,所以也许有人可以告诉我一个网站在哪里可以找到。

通常,您需要使用 XHR 请求、Web 套接字或 HTTP/2 来解决此问题。由于浏览器端并未普遍支持 HTTP/2,因此它可能不适合您。以下是解决方案的概要:

  1. 每隔几秒,javascript 您在浏览器中提供的内容将需要使用 XHR 请求轮询服务器以获取更新。您可以使用返回的数据通过 Javascript 更新屏幕。如果你只想做一些简单的更新,比如更新一些数字,你可以使用原始 Javascript 或 jQuery。如果您的轮询将导致复杂的屏幕更新,或者您想将大量功能移至客户端,您可能想使用 JavaScript 框架之一(如 React 或 Angular.[= 重做客户端) 10=]

  2. 使用网络套接字(或HTTP/2)创建到服务器的持久连接,并让服务器在数据更改时向客户端发送更新。这可能需要应用程序中的一些代码来广播或多播更新。客户端代码与案例 1 类似,只是客户端不会轮询更新。

轮询解决方案更易于实施,并且如果您没有太多客户端以过高的速率发送轮询,这将是一个不错的选择 - 您可以通过这种方式使服务器不堪重负。