Heroku本身支持memcache作为插件。我的问题是,仍然是一个铁杆新手,我不知道如何使用memcache来加速我最耗时的请求(我知道他们是通过查看新的分析)。我们应该在memcache上使用像'cache-money'这样的宝石吗?有没有人再使用act_as_cached?
我知道这是一个非常微不足道的问题。然而,在网上搜索了几个小时后,我找不到一个像样的教程。任何帮助/链接赞赏!
答案 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文档非常有用。其中涉及的内容包括:
答案 1 :(得分:0)
你可以在memcache上缓存action_cache,或者你可以使用Rails.cache访问memcache