Ruby on Rails 片段缓存

示例

Rails.cacheActiveSupport提供的,可用于在请求中缓存任何可序列化的Ruby对象。

要从缓存中获取给定键的值,请使用cache.read:

Rails.cache.read('city')
# => nil

用于cache.write将值写入缓存:

Rails.cache.write('city', 'Duckburgh')
Rails.cache.read('city')
# => 'Duckburgh'

或者,用于cache.fetch从缓存中读取值,如果没有值,则可以选择写入默认值:

Rails.cache.fetch('user') do
  User.where(:is_awesome => true)
end

传递的块的返回值将在给定键下分配给缓存,然后返回。

您还可以指定缓存过期时间:

Rails.cache.fetch('user', :expires_in => 30.minutes) do
  User.where(:is_awesome => true)
end