Ruby on Rails - 缓存变量

San*_*ups 6 ruby activerecord memcached caching ruby-on-rails

我在控制器中设置了这两个变量.如何缓存这些,以便它们不会每次都与数据库通信,而只是第一次.

@tablenutrients = Nutrient.find(:all)
@columnnutrients = @tablenutrients.collect {|x| x.nutrient}
Run Code Online (Sandbox Code Playgroud)

pje*_*pje 13

什么@djlumley说.

通常,您还可以配置和使用ActiveSupport :: Cache :: Store来显式存储您自己的自定义变量.然后,您可以获取/设置缓存值,例如,如下所示:

@tablenutrients = Rails.cache.fetch("tablenutrients") do 
  Nutrient.find(:all)
end
Run Code Online (Sandbox Code Playgroud)