Home >Backend Development >PHP Tutorial >API如何及时输出大量数据JSON数据

API如何及时输出大量数据JSON数据

WBOY
WBOYOriginal
2016-06-06 20:20:231635browse

在做一API,APP端想抽取简要数据进行缓存在手机端,所以设计了一个接口提供给APP调取,

经过测试,这个JSON格式的数据包在在2M左右(尽可能的精简并且做了序列化处理),导致response时间大概要10秒左右,这样很不理想,也尝试过分页获取,但是这样又增加了连接次数,也不是很理想,决定还是用一次获取完的方案,所以想请教一下如何优化一下输出的这个数据,例如标题里提到的及时输出,但是之前没有弄过我也不确定这样是否可以保证JSON数据的合法性和操作性。如果有其他方案也欢迎给出建议。

回复内容:

在做一API,APP端想抽取简要数据进行缓存在手机端,所以设计了一个接口提供给APP调取,

经过测试,这个JSON格式的数据包在在2M左右(尽可能的精简并且做了序列化处理),导致response时间大概要10秒左右,这样很不理想,也尝试过分页获取,但是这样又增加了连接次数,也不是很理想,决定还是用一次获取完的方案,所以想请教一下如何优化一下输出的这个数据,例如标题里提到的及时输出,但是之前没有弄过我也不确定这样是否可以保证JSON数据的合法性和操作性。如果有其他方案也欢迎给出建议。

用redis或者memcahce直接返回 试过了吗?

这种情况尝试一下gzip可能有意想不到的效果

如果是生成数据的效率问题,建议找缓存方案

既然使用到了APP,那么就利用APP端的计算能力
向服务器请求二进制数据返回,这个数据执行文本压缩-文本压缩很惊人的哦,特别是格式化的数据
本地拿到数据后解压缩还原成JSON格式的
json的字段名双方约定好,尽量短些~~~

后续请求获取增量的数据或变更过的数据即可

压缩,使用MD5保证文件完整性,业务允许的话请使用get请求.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn