是不是应该把已经请求过的数据保存起来,这样分页返回到之前已经请求过的页数时,就不用再发起请求了,但是这些数据应该保存在哪呢?
分页查询,一般都是换页去查询的,每次请求如果间隔时间长,又有新增的一部分数据就会显示不出来,一般都是查询,如果想存储也可以存储到前端数据库中(sessionStorage 或 localStorage) 不建议存储
有帮助望采纳
这个看你们的策略了 一般都是用到了 才去查询的 不会一次查询全部
你觉得存起来就合理啦?
我要是现在只有一页的数据,好了,有人添加了一条变成两页了,完犊子了
这些该查还是要查的,毕竟不是一个人在读取这些数据,这一秒的数据是这样,下一秒的数据指不定变成什么样的,增加了或者删除了之类的
这个要看具体的业务需求,一般来说是按需获取,比如常见的就是每页10条记录,那么一页获取10条即可,后面翻页的时候,再获取第二页的内容,
也就是你说的“每次换页数,都要重新发起请求”的说法;
这样的做法合理不?
一般情况下是合理的;怎么说?
1、一般情况下,很多人的兴趣点只在第一页面,至于第二页面的内容,会在第一页的人数中递减80%左右,这个就是说内容的西印度了
2、跟技术实现有关联,比如一个页面10条记录,相对应的,10条记录里面还有很多的其他请求,比如静态资源,这个就会给服务器造成很大的压力,这个对技术的要求会更高。你看看淘宝首页就知道技术的要求有多高了。
3、按你说的情况,一般来说,b\s架构中,一般存储数据的地方在于浏览器,在浏览器中存储内容是有限制的,比如大小限制,操作限制,类型限制等,这个也对技术有很高的要求。这个做法在浏览器的标准方法中,不建议这么做。
以上,看看能不能解答你的疑惑。
对发起的请求修改请求头Cache-Control参数,其实一般这个请求头的默认值就会在客户端产生缓存了,你不用刻意修改,可以让浏览器帮你缓存,对同一个会话的同一个请求,浏览器会优先读取缓存内容,你打开f12看看network,只要没有勾选Disable cache,设置完浏览器就会记住你的请求,你多次访问不会重新请求的
其实挺合理的,要不然就是一次请求过来,前端自己写分页,而且还要把数据保存一下。数据少还好说,大量的肯定不行的。点击分页请求数据,这样更好
分页查询,提供查询条件,条数和页数至后台,点一下查一次, 存储起来肯定不可取,如果几百几千万数据,你第一次查出来再存进到缓存或本地完全不可取,等待时间过长。