我有一个Ruby on Rails应用程序,其中使用片段缓存并使用memcached存储数据。此外,我还有一个清除程序,当对模型进行更改时,缓存会使缓存失效。
index.html.erb
<% cache 'recent_albums' do %>
contents to be cached
<%end %>
class AlbumsSweeper < ActionController::Caching::Sweeper
observe Album
def after_save(album)
expire_cache(album)
end
def after_destroy(album)
expire_cache(album)
end
def expire_cache(album)
expire_fragment 'recent_albums'
end
end
我有一个要求,在用户点击“相册”页面之前,需要使用新数据刷新过期的片段。 有人可以帮助解决片段缓存数据刷新的实现方式吗?
答案 0 :(得分:0)
缓存的整个概念是&#34;做某事并在下次记住它&#34;。
如果我理解你的问题是正确的;你正在尝试做别的事情,即&#34;总有一些东西准备好什么东西运行&#34; ---所以你应该使用别的东西。
Memcached支持存储key:value数据对 - 所以如果你想要总是做好准备并且&#34;预烘烤&#34;您可以跳过使用缓存,而只是将键:值存储到Memcached。然后在after_save和after_destroy等上更新它。
除此之外 - 片段缓存在访问时自动更新,而不是在缓存中。