最近想用 redis 做缓存服务器,看了 Tower 的缓存方针,想做页面缓存。但是发现了这样一个问题。当代码如下时:
<% cache [:courses_jours_list, @course, @jour.maximum(:updated_on)] do %>
每次只要 jour 列表有更新,就会生成一个新的缓存片段【views/courses_jours_list/updated_on 时间】。 那么如果这种情况很多的话,当某一段时间网站访问量很大时,生成了很多的缓存片段,单纯的靠 redis 的 lru 机制,很有可能会误删除有用的缓存页面,而且内存可能一直处于爆满的状态。 请问各位大神,有没有好一点的解决方案。 PS:尝试过在更新时进行缓存过期操作,但是当有很多页面都牵扯到某一个表单时,很可能会漏掉写缓存过期。