片段快取
由 ActiveSupport 提供的 Rails.cache
可用於跨請求快取任何可序列化的 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