我正在尝试缓存数据库中的一些数据,以减少对数据库的 SQL 查询数量。目前,我正在做的是我将从数据库中加载一组记录:
@records = Record.find(:all, :conditions => ["id < ?", 100])
然后遍历这个数组来找到我真正想要的记录:
@needed_records = Array.new
@records.each do |record|
if record.is_needed
@needed_records.push(record)
end
end
所以每当我需要时,我可以只传递@records 而不是实际访问数据库。
我的问题是,这样做有什么缺点吗?有没有更好的方法来做同样的事情?