如何使用memcache加速rails/heroku

Phi*_*ger 7 memcached caching ruby-on-rails heroku

Heroku本身支持memcache作为插件.我的问题是,仍然是一个铁杆新手,我不知道如何使用memcache来加速我最耗时的请求(我知道他们是通过查看新的分析).我们应该在memcache上使用像'cache-money'这样的宝石吗?有人再使用act_as_cached吗?

我知道这是一个非常微不足道的问题.然而,在网上搜索了几个小时后,我找不到一个像样的教程.任何帮助/链接赞赏!

Pet*_*ros 4

您可以观看Rails 2.1 中的缓存,然后阅读Heroku 中的memcached 文档(我想您已经阅读过)。

此外,触摸和缓存是非常有趣的技术,可以避免在需要刷新缓存数据时编写 Sweepers 来删除缓存内容。使用触摸将自动使缓存数据过期,几乎不需要编写新代码。

请注意,今天,Heroku memcached 集成假设您使用的是 Rails >= 2.3.3

主要思想是将耗时方法的结果添加到 Rails.cache(这是您访问缓存机制的接口)。当您获取该结果时,缓存机制会进行搜索以查看是否可以找到它或者它是否尚未过期。

如果找到它,它会非常快地返回它,因为它是从缓存中获取的。

如果它没有找到它或者它已经过期(您在调用 fetch 时设置它),它会运行实际的慢速方法来添加它或在缓存中刷新它。

最后,除了使用 memcached 还是内置的 Rails 缓存之外,阅读 Rails 文档也非常有用:使用 Rails 进行缓存:概述。其中包括:

  • 页面缓存
  • 动作缓存
  • 片段缓存
  • 扫地机
  • SQL缓存
  • 和更多 ...