Rails Rails 的 Caching 大家的用法是?

huacnlee · 2012年07月06日 · 最后由 huacnlee 回复于 2012年08月28日 · 8276 次阅读

统计一下各自项目中的 caching 方式

我常用的是

  • Fragment Caching, 以某些时间戳作为 cache_key 以便不用手动清除 cache
  • Model 的数据缓存,数据列表,counter 之类的
  • 一两个 Action Caching

此外 Sweepers 你们有在用么?我觉得 Sweepers 的设计很奇怪,用起来很麻烦。

还有,项目主要页面的响应时间是多少 ms ? (Ruby China 帖子列表和查看页面是 200ms 左右)

喜欢

Rails.cache

存取数据 很少用其他的

我们现在有个项目 大概 100 多 w 数据,只开了 Mysql 的缓存,也没什么压力

用最多是 Fragment Caching 和 counter 之类 Sweepers 一直没有用过

这里有篇文章比较具体去谈 Rails 的 cache http://broadcastingadam.com/2011/05/advanced_caching_in_rails/

#3 楼 @HungYuHei 这篇文章很不错

只用过 Rails.cache 扩展用 redis

#5 楼 @xds2000 我是想了解细节方面的做法 #2 楼 @fresh_fish 单页的响应时间是多少?

#6 楼 @huacnlee 复杂点的页面在 500ms 左右,一般 200ms 左右 这个网站 www.kandao.com

#7 楼 @fresh_fish 我现在觉得 200 慢了,想搞到 100 左右 http://mac.pcbeta.com 看这个的帖子列表,都是 100 以内

Ruby China 的帖子查看页面我已经反复调整尝试,发现目前耗时都在回复列表里面,有其实回帖数量多的时候,而数据查询出来是很快的。

#10 楼 @huacnlee 直接把 HTML 丢 memcache 里就好了嘛

我之前的公司首页一般要求 100ms 左右,单页在 150 以内

#13 楼 @xds2000 这个作者貌似一直使用 Rails3.1,不知道现在支不支持 Rails3.2 了。

mark 一下,只用过很小一部分的 cache(counter cache 和 ActiveSupport::Cache),目前也在做 Rails guide 中关于 cache 部分的翻译工作,之后想放到实际环境中使用。

我记得很早前 robbin 有篇帖子说缓存的

@hooopo rails 3.2 还需要自己 fix

#10 楼 @huacnlee 我发现很多情况似乎无论如何都得 200ms+,即使很快的 sql Completed 200 OK in 510ms (Views: 9.5ms | ActiveRecord: 0.7ms) 像这种 json 请求,令人头痛 我觉得是因为 record 和 view 的处理花销颇大的样子

这个是比较多代码处理的请求,不能说明问题....

时间还有一大部分花在了 view 上,这部份工作其实可以转移到客户端,有很多的 js mvc

#21 楼 @camel 谢谢分享。这个内容很棒!值得仔细看看。

补充这个帖子,最近尝试用了 https://github.com/flyerhzm/simple_cacheable 非常方便

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