class Server < ActiveRecord::Base
belongs_to :user
class << self
def fetch_server_list
Rails.cache.fetch("server_list", expires_in: 3.hours) do
Rails.logger.debug("-----------------> query all servers")
Server.all.order('server_index DESC')
end
end
end
end
第一次调用 fetch_server_list 的时候,有 "-----------------> query all servers" 第二次调用 fetch_server_list 的时候,就没有这个日志 说明缓存生效了
但是问题来了 每次调用都会执行 SQL 语句
怎样才能让 cache 缓存结果而不是代码呢?