后端处理一个较大的json文件返回数据给前端太慢该如何优化?
总共有1000条信息展示,我现在想到的是在前端使用轮询来解决,有没有更好的方案来解决网络慢数据大,我应该在后端怎么处理
回答:
试试分页。或者2次请求。第一次返回10-20条。不至于页面空白。然后再返回所有数据。
回答:
1000不会很多,是否开启了 gzip 等 压缩内容
nginx 配置
gzip on;
gzip_min_length 1024;
gzip_buffers 4 8k;
gzip_types font/woff text/plain application/javascript application/x-javascript text/css application/xml application/json text/xml application/pdf ;
回答:
后端流式返回效果不错。就是浏览器请求一次,服务器多次返回,比如每次返回两个页面的内容,先让用户看着,后续慢慢加载完成。
比如用grpc
回答:
分页货或分次取
回答:
1)将内容分段后,然后多次给出。
2)类似分页的做法
3)需要辛苦一下前端的童鞋
get:/api/request
rquest:{..."next_page":1,...}
get:/api/request?next_page=1
rquest:{..."next_page":2,...}
get:/api/request?next_page=2
rquest:{..."next_page":null,...}
get:不再继续请求
回答:
后端做分页处理 或者 如果1000条信息 实时性不高就直接在后端做提前缓存,然后从缓存里取, 前端做懒加载 应该能符合你的业务需求,
回答:
可以采用对服务端数据进行分页
回答:
需要先定位为啥慢。慢在传输还是慢在查询?
从浏览器控制台或者通过Postman等可以看请求响应时间。如果慢在传输那可以尝试减小数据内容,比如不要传输前端不需要的字段,在查询数据库的时候就不要select那些不重要的字段。或者像其他回答一样,把请求分页,每页只显示10条。
如果是慢在查询,那就要优化查询语句了,通过sql分析看看具体是慢在什么过程上。
不过总体上分页查询肯定是个好方法。
以上是 后端处理一个较大的json文件返回数据给前端太慢该如何优化? 的全部内容, 来源链接: utcz.com/p/945403.html