私は検索しましたが、次のメソッドを組み合わせることをお勧めできるかどうかについて、良い情報源を見つけることができないようです:モデルで最初のブロックよりも 2 番目のブロックを使用する方がパフォーマンス上の利点はありますか? このような「メモ化」を Rails.cache.fetch と組み合わせて使用することは良い習慣と考えられますか?
def total_ham
Rails.cache.fetch("#{self.cache_key}/total_ham") do
self.hams.sum(:metric_tons)
end
end
また
def total_ham
@total_ham ||= Rails.cache.fetch("#{self.cache_key}/total_ham") do
self.hams.sum(:metric_tons)
end
end