我正在使用 Rails.cache.read/write/fetch 方法。当我执行这些操作时,我会在我的日志中看到以下消息(见下文)。我想知道它们的意思,我理解读/写消息,但是 Fetch Hit and Generate 怎么样。
用例(缓存为空) - 所以当我使用时,Rails.cache.fetch("city/#{key}") { return city_object }
我看到 3 条日志消息 - 读取、生成和写入。但是,如果我使用读取(检查密钥是否存在)/(否则)写入,我只会看到读取和写入消息,所以想知道什么更有效。
CACHE Read city/key1
CACHE Write city/key1
CACHE Generate city/key1
CACHE Fetch Hit city/key1
此外fetch
,带有块的 a 会同时生成“Read...”和“Fetch Hit...”消息,而仅 a 会read
生成“Read...”消息。在这两种情况下,缓存都有键/值对。
这是一个 Rails 3.2.8 应用程序,我使用 dalli gem 作为 memcached 客户端。