Logo
Section 1 / 9

分页

学习如何限制每页向用户显示的数据量。

导入

分页

学习如何限制每页向用户显示的数据量。

从技术上讲,我们可以说项目现在已经完成了,但我们还想介绍一些关于性能优化的重要细节。本章将讨论以下主题:

  • 分页
  • 缓存
  • SQL 查询的优化
  • 跨域资源共享(CORS)的启用:跨域资源共享(CORS)是一种机制,允许服务器声明哪些来源(域名、协议或端口)可以访问其资源,从而让浏览器允许加载来自非同源的资源。

我们将主要聚焦于一些常见的实际场景。希望现在学习这些场景能对今后的项目开发有所帮助。

一种优化从数据库获取记录数组的策略是通过分页,每次只加载少量数据。分页指的是将全部结果划分为多个页面,并按需获取所需的页面数据。在 Rails 中,我们可以借助 will_paginate 或 kaminari 轻松实现这一功能。

这里的关键难点在于如何处理 JSON 输出,以便向客户端提供足够的分页信息。

在 https://jsonapi.org 的格式规范中,有一个关于分页的子章节。其中对分页的说明如下:

“分页链接必须出现在与集合数据对应的 links 对象中。若要对主数据进行分页,则应在顶层的 links 对象中提供分页链接。”

这为我们接下来如何实现分页提供了明确指引。

让我们从 products 列表开始着手实现。

优化订单

分页显示产品列表