活动记录缓存昂贵的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了活动记录缓存昂贵的方法相关的知识,希望对你有一定的参考价值。
class ActiveRecord::Base @@cache_store = nil def self.cache_store @@cache_store ||= ActionController::Base.cache_store end def self.caches(method_name, key = nil, options = {}, &block) if key.is_a?(Hash) options = key key = nil end define_method "cached_#{method_name}" do key = instance_eval(&block) if block self.class.cache_store.fetch("#{method_name}:#{key}", options) { send(method_name) } end end end class MyModel < ActiveRecord::Base caches(:expensive_query, :expires_in => 15.minutes) { "#{id}:#{id.updated_at.to_i}" } end
以上是关于活动记录缓存昂贵的方法的主要内容,如果未能解决你的问题,请参考以下文章