php接口返回大量数据,API如何及时输出大量数据JSON数据

在做一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请求.

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值