2013-02-19 153 views
0

使用Rails,我有一个HTTP端点返回链接到JSON格式播放列表的记录(媒体文件)数组。REST API分页和客户端缓存

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

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

是否有一些聪明的做法,我可以采取还是我被迫回应所有的请求与200,并始终将数据下线到客户端?

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

回答

1

当我在Rails中使用页面缓存时,我必须处理分页,我只是把页面放在URL中。所以,如果例如,我有一个资源,看起来像这样:

resource :users 

我改变它(添加新行):

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

我不知道你用的是什么客户端,但这里的想法是,你想分开缓存单独的页面。由于该页面现在是网址的一部分,因此您已将每个页面缓存起来,并且应解决问题:)