应用性能优化:分页、数据库查询与缓存策略
1. API 分页
在应用中,分页功能可以减轻数据库的负载。对于用户界面上的票务系统,分页功能已经轻松实现。但在票务 API 中,当请求项目的所有票务时,仍然会返回全部票务,这就会导致之前解决过的问题再次出现。
1.1 API 分页的特点
API 与界面不同,无法为返回的票务提供分页链接,只能依靠用户传入页码来返回相应页面的票务。
1.2 测试 API 分页
为了测试 API 分页功能,需要在 spec/api/v2/tickets_spec.rb 文件中添加新的测试。以下是测试代码:
context "pagination" do
before do
100.times do
Factory(:ticket, :project => project, :user => @user)
end
end
it "gets the first page" do
get "/api/v2/projects/#{project.id}/tickets.json",
:token => token,
:page => 1
last_response.body.should eql(project.tickets.page(1).per(50).to_json)
end
it "gets the second page" do
get "/api/v2/projects/#{pro
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



