【发布时间】:2014-09-26 03:39:39
【问题描述】:
我正在阅读一些关于在 Rails 中缓存的指南,但我错过了一些我无法协调的重要内容。
我了解自动过期缓存键的概念,以及它们是如何从模型的 updated_at 属性派生出来的,但我无法弄清楚它是如何在不首先进行数据库查找的情况下知道 updated_at 是什么(即缓存的设计目的究竟是为了避免什么)?
例如:
cache @post
将结果存储在缓存键中,例如:
posts/2-20110501232725
据我了解,Rails 中自动过期的缓存键,如果 @post 被更新(并且 updated_at 属性被改变,那么键将会改变。但我不知道的是,后续如何查找 @post知道如何在不进行数据库查找以获取新的 updated_at 值的情况下获取密钥?Rails 是否必须知道 @post.updated_at 是什么才能访问缓存的版本?
换句话说,如果键包含updated_at时间戳,你怎么能在不知道它是什么的情况下查找缓存呢?
【问题讨论】:
-
问题似乎不清楚.. 你能改述一下预期的结果是什么吗?如果您尝试过某些东西,最好将其包含在此处
-
很公平,澄清了我的困惑。
-
您已更新问题,现在看起来不错...所以回滚否决...
标签: ruby-on-rails caching