在我正在开发的一个项目中,我向控制器中的外部API请求数据,然后将其显示在视图中。最近我开始遇到由于过度调用API而导致的速率限制引发的异常。为了解决这个问题,我假设我需要实现某种缓存系统。我一直在阅读页面缓存在rails中,它似乎并没有解决我的问题,因为我不使用我自己的数据库中的模型。所以,我想知道是否有一种简单的方法来定时缓存页面,这样可以经常通过API请求新数据。Rails中的计时页面缓存
希望这是有道理的 - 我对Ruby on Rails相当新,并且从未使用过任何类型的缓存系统。
在我正在开发的一个项目中,我向控制器中的外部API请求数据,然后将其显示在视图中。最近我开始遇到由于过度调用API而导致的速率限制引发的异常。为了解决这个问题,我假设我需要实现某种缓存系统。我一直在阅读页面缓存在rails中,它似乎并没有解决我的问题,因为我不使用我自己的数据库中的模型。所以,我想知道是否有一种简单的方法来定时缓存页面,这样可以经常通过API请求新数据。Rails中的计时页面缓存
希望这是有道理的 - 我对Ruby on Rails相当新,并且从未使用过任何类型的缓存系统。
Memcached具有您所谈论的基于时间的过期时间,对于缓存大多数常见对象(包括页面)来说,它非常出色,我相信。
安装起来非常简单,Rails已准备好将其与memcached的单行配置结合使用。
下面的截屏是非常有益的学习memcached的:
http://railslab.newrelic.com/2009/02/19/episode-8-memcached
其实,我建议全系列,因为它是相当有用的。
这里的memcached的网站:
如果你更多的是手动型,你总是可以创建运行一次,每隔几分钟,并生成新文件cron作业。
希望这会有所帮助!
这似乎没有内置的机制。虽然你可以尝试this user's solution。
如果您想要基于时间缓存,您可以使用etag
。看看它在docs
谢谢 - 这似乎是我正在寻找 – mportiz08 2010-02-19 07:38:35