两者之间是否有任何性能差异
Rails.cache.fetch("key") { Model.all }
和
models = Rails.cache.read("key")
if models.nil?
models = Model.all
Rails.cache.write("key", models)
end
如果我必须猜,我会说上一个只是另一个的简写。
最佳答案
如果您检查the source code,您会注意到fetch
除了调用read
和write
外没有其他作用。
由于它还执行其他一些操作(例如检查是否已给出块等),因此可以说fetch
较重,但我认为它可以忽略不计。
关于ruby-on-rails - Rails:cache.fetch与cache.read/write,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22379157/