Heroku本身就支持memcache作为一个插件。我的问题是,作为一名rails新手,我不知道如何使用memcache来加速我最耗时的请求(我通过查看新的遗迹分析知道它们是谁)。我们是否应该在memcache之上使用一个像'cache-money‘这样的gem?还有人在使用act_as_cached吗?
我知道这是一个相当琐碎的问题。然而,在网上搜索了几个小时后,我找不到一个像样的教程。感谢任何帮助/链接!
发布于 2010-09-29 04:49:30
你可以先看Caching in Rails 2.1,然后再用Heroku阅读memcached documentation (我想你已经读过了)。
此外,当您需要刷新缓存数据时,Touch and Cache是一种非常有趣的技术,可以避免为了删除缓存内容而编写清理器。使用触摸将自动终止缓存的数据,几乎不需要编写新的代码。
请注意,现在,Heroku memcached集成假定您使用的是Rails >= 2.3.3
主要思想是将耗时的方法的结果添加到Rails.cache (这是访问缓存机制的接口)。当您获取结果时,缓存机制会进行搜索,看看是否可以找到它,或者它是否还没有过期。
如果它找到它,它会非常快地返回它,因为它从缓存中取出它。
如果它没有找到它或者它已经过期(在调用fetch时设置),它会运行实际的slow方法来添加它或在缓存中刷新它。
最后,无论您使用的是memcached还是内置的Rails缓存:Caching with Rails: An overview,阅读Rails文档都非常有用。在其他方面,它谈到了:
发布于 2010-09-29 04:10:55
您可以在memcache上缓存action_cache,也可以使用Rails.cache访问memcache
https://stackoverflow.com/questions/3816472
复制相似问题