1

在我正在处理的项目中,我从控制器中的外部 API 请求数据,然后将其显示在视图中。我最近开始遇到由于速率限制而引发的异常,这是由于对 API 的过度调用引起的。为了解决这个问题,我假设我需要实现某种缓存系统。我一直在阅读rails中的页面缓存,它似乎并没有解决我的问题,因为我没有使用我自己数据库中的模型。所以,我想知道是否有一种简单的方法可以定时缓存页面,以便每隔一段时间通过 API 请求新数据。

希望这是有道理的——我对 Ruby on Rails 还很陌生,而且我以前从未使用过任何类型的缓存系统。

4

3 回答 3

3

Memcached 具有您所说的基于时间的过期功能,我相信它非常适合缓存大多数常见对象,包括页面。

它真的很容易安装,Rails 已经准备好将它与 memcached 的单行配置一起使用。

以下截屏视频对了解 memcached 非常有帮助:

http://railslab.newrelic.com/2009/02/19/episode-8-memcached

实际上,我推荐整个系列,因为它非常有用。

这是 memcached 站点:

http://memcached.org

如果您更喜欢手动类型,则始终可以创建一个每隔几分钟运行一次并生成新文件的 cron 作业。

希望这可以帮助!

于 2010-02-19T05:55:21.030 回答
1

似乎没有为此的内置机制。不过,您可以尝试此用户的解决方案

于 2010-02-19T02:52:33.537 回答
0

如果您想要基于时间的缓存,您可以使用etag. 在文档中查看它

于 2015-08-19T01:33:51.563 回答