我有一个块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