javascript - 假设我有1000条数据,我需要在页面中每页显示20条,这样如何处理。

 炽热冰菊66 发布于 2022-11-08 18:14

1、一次ajax请求,然后一次读取数据库全部返回给前端缓存,然后进行分页。
2、一次读取数据库,服务端进行缓存,然后进行多次ajax请求,请求所需要的页数。
3、多次ajax请求,每次都重新读取数据库,读取所需要页的数据。

上面三种我用的是第二种,第一次肯定不好,一次全部全过来,后面的说不定根本用不到呢。还有到底是不是第二种好,为什么啊。还有什么其他方法吗?第三种方法好吗?

4 个回答
  • 看你的具体业务需求了。
    如果是访问量比较大的,比如一个活跃的BBS,那么可能一个页面的内容会经常有人来请求,几秒一次甚至一秒N多次,这个时候第三种方式就不适合了,就需要用到第二种方式。
    如果是自己的demo或者项目规模小,那么一般采用第三种方式,因为使用第二种方式会增加业务代码的复杂度,比如数据库中的数据更新后,缓存中的数据什么时候更新?更新的策略?而且考虑到一般越靠后的页面越少人请求,那么为了节省内存占用,是否考虑采用某种策略,将不必要的缓存给屏蔽掉?

    2022-11-12 01:40 回答
  • 哥们,你服务器端用redis缓存吗?

    2022-11-12 01:40 回答
  • 第三种。第二种跟第一种对服务端来说都是一次取数据到服务端内存里头,数据量多了容易内存溢出。

    2022-11-12 01:40 回答
  • 一般实际项目中是这样做的, 例如一个用户管理界面, 不仅仅只有分页, 还有查询: 用户名, 年龄等模糊查询.
    这时候, 点击分页一般要重新执行一次ajax的请求, 将过滤的条件(例如分页索引, 模糊查询的条件), 而非要用到类似redis之类的缓存.
    redis缓存一般用于数据量较大的, 例如一次几万条数据之类的东西, 才1000条数据, 在实际项目中, 一般都是直接读取数据库, 例如mongoDB数据库, 使用limit就可以了.
    不要考虑性能, 实际项目的数据量之大, 等你遇到了, 再想办法去解决.

    2022-11-12 01:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有