0

使用 Rails,我有一个 HTTP 端点,它返回一个链接到 JSON 格式的播放列表的记录(媒体文件)数组。

客户端缓存是通过检查播放列表的日期并stale?(@playlist)/playlist/id/media_files.json响应中使用 Rails 生成适当的 etag 来完成的。

现在我想实现分页,但在某种程度上试图保持客户端缓存。

是否有一些我可以采取的聪明方法,或者我是否被迫以 200 响应所有请求并始终将数据通过网络传输到客户端?

您如何处理 API 中的分页(服务器、客户端)缓存?

4

1 回答 1

1

当我在 Rails 中使用页面缓存并且必须处理分页时,我只需将页面放在 URL 中。因此,例如,如果我有一个如下所示的资源:

resource :users

我将其更改为(添加新行):

get 'users/page/:page', to: 'users#index'
resource :users

我不确定您使用的是哪个客户端,但这里的想法是您要单独缓存各个页面。由于该页面现在是 URL 的一部分,因此您已经缓存了每个页面,您的问题应该得到解决:)

于 2013-02-19T17:38:22.173 回答