欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 内存分页法

内存分页法

2025/5/23 4:03:00 来源:https://blog.csdn.net/qq_43535972/article/details/148094430  浏览:    关键词:内存分页法

现在有个场景,页面需要分页处理,但是后端在查询完数据库后又会进行筛选,就会导致后端的查询数目跟请求的每页条数是不一样。

解决方案:内存分页法

在内存筛选后手动实现分页逻辑,保证返回数量与请求的 pageSize 一致:

@Override
public JSONObject checkByLabelType(XXXDTO req) {JSONObject jsonObject = new JSONObject();// 1. 执行原有查询和筛选逻辑(得到全部已筛选数据)List<XXXVO> filteredList = getFullFilteredList(req); // 2. 手动分页处理int pageNum = req.getPageNum() != null ? req.getPageNum() : 1;int pageSize = req.getPageSize() != null ? req.getPageSize() : 10;int start = (pageNum - 1) * pageSize;// 3. 边界检查if (start >= filteredList.size()) {return Collections.emptyList();}int end = Math.min(start + pageSize, filteredList.size());// 4. 返回分页后的子列表List<XXXVO> pageList = filteredList.subList(start, end);jsonObject.put("total", filteredList.size());jsonObject.put("rows", pageList);return jsonObject;
}private List<XXXVO> getFullFilteredList(XXXDTO req) {// 这里放入原有的全部筛选逻辑(包括设备过滤、标签过滤、时间排序等)// 返回的是完成所有内存筛选后的完整列表
}
方案优点缺点适用场景
内存分页实现简单,数据精准内存压力大数据量小 (<1000条)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词