ruby-on-rails - Rails:cache.fetch与cache.read/write

标签 ruby-on-rails caching

两者之间是否有任何性能差异

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除了调用readwrite外没有其他作用。

由于它还执行其他一些操作(例如检查是否已给出块等),因此可以说fetch较重,但我认为它可以忽略不计。

关于ruby-on-rails - Rails:cache.fetch与cache.read/write,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22379157/

相关文章:

ruby-on-rails - 返回 : i18n best practices for large translation dictionaries

ruby-on-rails - 从表单文件字段邮寄附件并通过 sidekiq 发送邮件

ruby-on-rails - 我们如何定义大整数?

ruby-on-rails - Rails 最佳实践误报未使用的方法

apache - 使用 VestaCP 在 Ubuntu 服务器上安装和配置 Varnish 缓存

ruby-on-rails - 如何在一个葡萄 block 中创建两条路线?

php - 创建调整大小的图像缓存但防止滥用

ruby-on-rails - Rails 缓存(内容与页面/操作/等)

mysql - 如何检查实际查询 Qcache_not_cached

spring - 如何更新/删除项目集合中已缓存的项目