1
我還不明白Rails的緩存系統,但我已經閱讀過一個名爲片段緩存的功能的指南部分。Rails的片段緩存是否適合這個問題?
我的問題是:我的觀點主要是靜態元素。它幾乎是完全靜態的,唯一的變化是狀態消息和表單中的隱藏輸入字段,這兩個字段都是在服務視圖的操作的每個請求中生成的。
片段緩存適合這個問題嗎?我應該使用什麼樣的緩存策略?
我還不明白Rails的緩存系統,但我已經閱讀過一個名爲片段緩存的功能的指南部分。Rails的片段緩存是否適合這個問題?
我的問題是:我的觀點主要是靜態元素。它幾乎是完全靜態的,唯一的變化是狀態消息和表單中的隱藏輸入字段,這兩個字段都是在服務視圖的操作的每個請求中生成的。
片段緩存適合這個問題嗎?我應該使用什麼樣的緩存策略?
片段緩存足以解決您的問題。這是足夠的,因爲它使您能夠緩存視圖的一部分(片段),而不是整個視圖。從該文檔:
片段緩存被用來緩存內模板 各種塊,而不緩存整個動作作爲一個整體 。當動作的某些 元素頻繁更改 或取決於複雜的 狀態,而其他部分很少更改 或可以在多個 雙方之間共享時,此功能非常有用。高速緩存是使用動作 視圖中提供的 高速緩存助手完成的。存的一個模板可能 看起來像:
<!-- this is the dynamic part-->
<b>Hello <%= @name %></b>
<% cache do %>
<%= render :partial => "static_part" %>
<% end %>
所以,你可以把cache
塊,並在它之外的動態部分之間的靜態部分。 以下是相關文檔的鏈接:rails fragment caching。