后端返回数据给前端,是一次过给一大堆好,还是一次以10或20为单位好给好点?

以什么为判断标准?

如果数据库有一千条数据,一次过给前端,前端爱怎么弄就怎么弄?还是分页给好点呢?这样,前端就不断请求,那么这个请求可以有缓存吗?

如果处理这个问题好点?

阅读 7.5k
3 个回答

除非你的应用像地图那样,每一个细小的动作都要用到大量数据。可以像人家那样让用户下载离线数据。

否则,就老老实实做个分页。
节省两方面的流量,自己机房的,还有用户的流量。
单个请求读取大量数据,势必让响应时间变慢,网络状况不好的时候,下载时间也变长,更容易出错。

看你怎么平衡了,就像总共有5M数据要返回,你是一次性返回5M,呢还是分10次,每次约500K,
一次性,第一次载入的时候,慢慢慢慢慢,然后切换页面的时候快快快(当然前提是用的是同一批数据)
分10次,切一页面请求一次,

是否分页需要看你的业务场景,如果说数据量非常小,比如一共就二三十条数据,那不需要分页。
如果数据量比较大,肯定是需要分页的,不然太影响速度了,你可以看看稍微大一点的网站的加载更多或者是瀑布流的无限加载都是分页请求的,不会一次拿完所有数据。
另外你说的缓存应该是指前端缓存吧,我自己的做法是以JS中维护一个cache对象,每次请求之前先看cache对象中有没有数据,有的话就取出来渲染;没有的话就发请求,请求返回后,将取到的数据处理好了,渲染页面,并将处理后的数据写入cache对象,key就是把请求的参数通过JSON.stringify处理一下。如果只是翻页的话,那就是每次请求只有page number,直接pn做cache的key的就可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题