2013-07-26 135 views
0

我一直在閱讀關於緩存和所有可用的資源,但我不確定是否需要在我的應用中使用Memcachier等第三方附加組件。除了首頁(靜態頁面,如主頁,關於,聯繫我們,條款,隱私),所有其他頁面都需要驗證,並且都是動態創建的。這是一個小型的社交網絡應用程序,所以顯示頁面,索引頁面,編輯頁面都是動態創建的。索引操作不斷更新。rails是否自動緩存靜態頁面和資產?

我想知道如果Rails會自動緩存我的靜態頁面和資產,如CSS,JavaScript,圖像?我應該使用什麼樣的緩存?

回答

3

如果你調用靜態頁面位於您public文件夾中的HTML文件,它們直接由Web服務器提供(例如:Apache的),甚至不經過Rails的請求

如果他們文件位於您的app/views控制器中,請求通過Rails進行,並且實現頁面或片段緩存可能是一個好主意。知道你可以緩存部分頁面,這被稱爲片段緩存,對於具有靜態部分的動態頁面很有用。

此外,您可以將緩存鏈接到記錄,因此第一次顯示與此記錄相關的視圖時,會生成緩存並將其用於下一個請求。然後,當您修改此記錄時,緩存將失效並重新開始此過程。

您的資產不需要緩存,它們在生產環境中不再需要由Rails編譯和解釋。

有很多關於緩存的事情,你可以用它爲你的應用程序做很多好事(或者很多壞的使用不正確),但我無法掩蓋它,讓我給你一些指示,教你很多:

http://railscasts.com/episodes/387-cache-digests

http://railscasts.com/episodes/169-dynamic-page-caching

http://railscasts.com/episodes/93-action-caching

http://railscasts.com/episodes/90-fragment-caching

http://railscasts.com/episodes/89-page-caching