有个需求需要定时清理某个页面上的片段缓存,但是不知道怎么清除..
BTW: 我用的 dalli
比如说我的片段缓存地址是 views/LOL/layout/right/22e88d0ae992a3655ac6bd7ca224fc78
有什么方法,在我知道缓存是在 views/LOL/layout/right/
下面的情况下,清理这一缓存?
之所以要清除片段缓存,是因为我有个右边栏的‘热门文章’、‘最新评论’的设计
一有文章发布或有评论则删除右边栏 _right.html
里的片段缓存,然后重新建立新的缓存
我的 cache 语句是这样的,写在开头:
<% cache("#{CACHE_PREFIX}/layout/right", :expires_in => 1.day) do %>
rm
?乱猜的
不过好奇,缓存如果内容没有更新,为啥需要手动删除?
因为这个缓存我是这样写的:
<% cache("#{CACHE_PREFIX}/layout/right", :expires_in => 1.day) do %>
它检测不到是否有内容更新
你的 cache key 要基于 objects, 这样就是全自动。http://api.rubyonrails.org/classes/ActionView/Helpers/CacheHelper.html