如果可以使用事件过期,为什么设置缓存过期? (导轨)

时间:2013-01-19 22:42:03

标签: ruby-on-rails caching

我见过许多短暂的过期,比如30分钟,6个小时。我很少看到7天或30天之类的东西。所以,如果我有一个要缓存的类别列表。如果在通过观察者/回调更新类别时我可以使缓存失效,为什么我会在该缓存上设置过期?

1 个答案:

答案 0 :(得分:1)

根据时间与数据更改时间相关的缓存可能有很多原因。想象一下,拥有一个非常高流量的网站,数据不断在缓存中到期。确定要使用哪种类型的缓存到期机制取决于您如何回答如下问题:

  1. 您希望您的数据尽可能最新吗?
  2. 您的网站/应用程序流量非常高吗?
  3. 更新的数据是否经常导致大量缓存对象过期?
  4. 如果3对您来说是个大问题,那么根据时间到期可能是您的最佳选择。如果23为真,那么您会发现您经常使您的缓存过期并失去大部分好处。显然1对你来说是最重要的,你可能需要查看完全不同的缓存选项。

    我的建议通常是从观察者/回调方法开始,当您需要扩展时,如果1不是太重要,或者使用更像生产准备的内容,可以尝试根据时间到期。{{3 }}