之间是否有任何性能差异
Rails.cache.fetch("key") { Model.all }
和
models = Rails.cache.read("key")
if models.nil?
models = Model.all
Rails.cache.write("key", models)
end
如果我必须猜测,我会说上面的只是另一个的缩写。
答案 0 :(得分:17)
如果您选中the source code,您会注意到fetch
只会致电read
和write
。
由于它执行了一些其他操作(比如检查是否已经给出了块等),可以说fetch
更重,但我认为它完全可以忽略不计。