Rails 有没有方法缓存 activerecord 查询到的数据?

lb563 · 2012年03月29日 · 最后由 huacnlee 回复于 2012年03月30日 · 2435 次阅读

做项目时发现。每次刷新页面里都会到数据库中查询一次数据,很多数据很多时候都不用再次查询的。所以想问一下有没有方法能使得 rails 不用重复的查询不必要的数据,从而提高性能?

缓存不就是用来干这个的么? 给你推荐两个自动的 https://github.com/hooopo/second_level_cache https://github.com/flyerhzm/simple_cacheable

你的需求很普遍,所以 rails 早就帮你做好了。 http://guides.rubyonrails.org/caching_with_rails.html

之前 ytrip 那个项目我试过 cache_fu, cache-money 最后我还是自己实现了一个,全自动的 cache 和 过期处理,并且还会将 List 结果拆出来,细化存下去,这样单个数据的和 List 的查询可以公用一个 cache,减少无谓的过期清理,提高命中率。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号