有没有办法从PHP服务器向AJAX客户端发送大数据(50mb +)JSON响应?

时间:2018-02-26 19:39:30

标签: php json ajax bigdata

在服务器端,我正在创建一个大型PHP联系人对象,其中包含几个表示其他联系人数据的子对象(邮政编码等)。使用jquery的$ .get和$ .getJSON我试图请求这些联系人。 PHP将对象转换为json并回显结果。当我在浏览器中粘贴标题时,它会在几秒钟内吐出生成的JSON字符串。将它发送给客户是我的瓶颈。

每1000个联系人大约有1.2mb的数据。客户似乎没有收到超过8k联系人(大约10mb)的响应。我已经尝试按每个页面批量处理联系人5000,但是使用40k联系人完成批处理大约需要6分钟,因为页面需要联系人数据来呈现图表,图形,分析和过滤,因此无法使用UX。

我开始认为我需要在服务器端完成所有处理,并将必要的数据点返回给客户端。我查看了本地存储,Web套接字,Web工作程序以及其他几种并行批处理方法,但我无法更快地加载联系人数据。

除了在服务器上保留所有处理之外,是否有人知道任何策略,以便在短时间(<10秒)内将联系人数据传输到浏览器?

1 个答案:

答案 0 :(得分:0)

假设您的前端实际需要50mb的数据,那么添加

会更好

直接进入您的网页并让用户等待下载50mb ONCE

我不知道你的应用程序实际上如何使用JSON,但要确保echo '<script>var big_contacts_json = '.json_encode( $my_php_contacts_json ).';</script>'; 在其范围内,并且假设用户不刷新页面,事情应该会有所改进。