如何使用memcache加速rails / heroku

时间:2010-09-28 19:47:32

标签: ruby-on-rails caching heroku memcached

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

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

2 个答案:

答案 0 :(得分:4)

您可以在Heroku中观看Caching in Rails 2.1,然后阅读memcached documentation(我想您已经阅读过了)。

此外,Touch and Cache是一种非常有趣的技术,可以避免编写Sweepers,以便在需要刷新缓存数据时删除缓存内容。使用touch会自动使缓存数据失效,几乎不需要编写新代码。

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

主要思想是将耗时方法的结果添加到Rails.cache(这是您通过其访问缓存机制的界面)。当您获取该结果时,缓存机制会搜索它是否可以找到它或者它是否已过期。

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

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

最后,除了使用memcached还是内置的Rails缓存({3}}之外,阅读Rails文档非常有用。其中涉及的内容包括:

  • 页面缓存
  • 动作缓存
  • 片段缓存
  • 清扫
  • SQL缓存
  • 以及......

答案 1 :(得分:0)

你可以在memcache上缓存action_cache,或者你可以使用Rails.cache访问memcache