【问题标题】:How does using updated_at in your memcached key avoid DB hits?在 memcached 键中使用 updated_at 如何避免数据库命中?
【发布时间】:2010-10-18 21:12:25
【问题描述】:

在阅读 Rails 的缓存选项时,我刚刚观看了 Scaling Rails episode on memcached,他们主张使用记录的 updated_at 字段作为缓存键的一部分。这是为了确保当缓存块包含记录的内容时,只要该记录被更新,它就会使该缓存块失效。

我明白原理,但是如果我知道记录的当前 updated_at 时间,这是否意味着我最近已经访问了数据库?这有什么帮助?

这似乎表明它仅在您在整个会话期间对同一记录进行多次访问或构建视图时有用,每个都具有不同的查询,并且只有其中一些是值得缓存的。这是这里的意图吗?

【问题讨论】:

    标签: ruby-on-rails memcached


    【解决方案1】:

    我们将这种技术用于belongs_to …, :touch => true

    这确保了如果任何依赖项被污染,则主项也被污染。我们为 Product -

    这不是灵丹妙药,但它确实有效,而且时间戳可以一直推送到 HTTP 缓存控制标头,从而保存整个请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 2019-03-09
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多