假设我有这样的方法:
def foo
Rails.cache.fetch("cache_key", :expires_in => 60.minutes) do
return_something
end
end
return_something有时会返回一个nil值。发生这种情况时,我不希望将nil值缓存 60 分钟。相反,下次我调用时foo,我希望传递给的块fetch再次执行。
Rails.cache.fetch默认情况下是这样工作的吗?还是我必须实现这个功能?
更新(有答案)
事实证明,答案是否定的,至少在使用 Memcached 时是这样。