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