我有一個塊Rails的二級緩存視圖助手不保存到memcached的
<% cache 'unique_key', 60.minutes.from_now do %>
...
<% begin %>
...
<% rescue %>
...
<%end>
<% end %>
,我試圖讓實現更穩健的只緩存(從而允許用戶查看),如果救援消息緩存中已經沒有以前的值。目前,如果begin塊中的響應由於某種原因發回錯誤,我將緩存用戶查看的錯誤消息。我寧願回退到舊的緩存數據。我無法逾越的問題是 -
cache
存儲數據在哪裏?
每次我嘗試Rails.cache.read 'unique_key'
時,我得到nil
回來。 cache
是不是將值存儲在memcached中?有沒有一種方法可以將緩存轉儲到屏幕上?
我無法遵循rails源代碼。在我看來,cache
中的fragment_for
方法是一個rails 3的東西,因此我沒有進一步調試。
當我使用'fragment_cache_key('a')'時,我收回'views/a'。然而,'views/unique_key'仍然返回零。也許還有其他事情發生? – 2012-08-03 23:37:55
您是否打開了緩存?(默認情況下它處於開發模式) – 2012-08-03 23:40:42
我想我其實不知道。我需要mem_cache_store並運行memcached。雖然 – 2012-08-03 23:53:22