我一直在閱讀關於緩存和所有可用的資源,但我不確定是否需要在我的應用中使用Memcachier等第三方附加組件。除了首頁(靜態頁面,如主頁,關於,聯繫我們,條款,隱私),所有其他頁面都需要驗證,並且都是動態創建的。這是一個小型的社交網絡應用程序,所以顯示頁面,索引頁面,編輯頁面都是動態創建的。索引操作不斷更新。rails是否自動緩存靜態頁面和資產?
我想知道如果Rails會自動緩存我的靜態頁面和資產,如CSS,JavaScript,圖像?我應該使用什麼樣的緩存?
我一直在閱讀關於緩存和所有可用的資源,但我不確定是否需要在我的應用中使用Memcachier等第三方附加組件。除了首頁(靜態頁面,如主頁,關於,聯繫我們,條款,隱私),所有其他頁面都需要驗證,並且都是動態創建的。這是一個小型的社交網絡應用程序,所以顯示頁面,索引頁面,編輯頁面都是動態創建的。索引操作不斷更新。rails是否自動緩存靜態頁面和資產?
我想知道如果Rails會自動緩存我的靜態頁面和資產,如CSS,JavaScript,圖像?我應該使用什麼樣的緩存?
如果你調用靜態頁面位於您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