Ken*_*Dev 7 caching ruby-on-rails
我有一个非常具体的缓存情况.我们使用多种解决方案进行缓存,我想知道在用户操作上使缓存无效的最佳解决方案是什么.
缓存是这样的
第一层:CDN将整个页面缓存为已注销用户的HTML
第二层:memcached中的完整页面缓存,用于注销用户我有第二层的原因是响应边缘,有时并非所有边缘都被缓存,所以我也想从缓存中"回答"边缘.
第三层:缓存登录用户的HTML部分和数据库数据.
我的问题是我的失效过程现在非常基于第三层,我没有足够好地回答第二层和第一层.
我的问题是:什么是从完全没有与URL耦合的缓存键使完整URL上的缓存无效的最佳方法?例如,如果我有旅行计划,在旅行计划内有评论,我想在用户评论新评论时使整页旅行计划URL无效.
注释模型没有URL,"父"也没有URL,同样的注释也会在城市页面中显示,所以它完全是一个可重用的对象和部分.
我在 37signals博客上阅读了 David Heinemeier Hansson 的一些博文。
他们解决这个问题的方法是缓存页面上的所有不同对象,然后使用 CSS 和 JS 自定义视图。
它可能无法解决您的问题,但根据您给出的描述,我认为它至少可以给您一些提示。