2013-02-19 154 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 

我不知道你用的是什麼客戶端,但這裏的想法是,你想分開緩存單獨的頁面。由於該頁面現在是網址的一部分,因此您已將每個頁面緩存起來,並且應解決問題:)