23

我正在使用 node.js 编写一个 Web 服务,它为一些数据调用一个 API,但我受到 API 的限制,每个月只能调用多次,所以我希望缓存从 API 检索到的数据,以便我可以提供服务它与缓存的数据一起使用,并按时间间隔从 API 重新获取数据。

这是解决这个问题的好方法吗?我应该使用什么缓存框架?我查看了 node-redis,但我认为键值存储不适合数据。

谢谢!

4

1 回答 1

39

关于 Redis,我不同意你的看法。Redis 是一个非常强大的键值对存储,可以很容易地用于你想要的东西。它旨在将东西倾倒在其中并再次取出。在您的情况下,您可以通过将查询作为键将其保存到 Redis 中来轻松缓存 API 响应(如果这是您正在调用的 REST API,您可以只使用 URL 或序列化数据作为键)并简单地缓存作为字符串化 JSON 对象(或 XML 字符串,如果你碰巧得到它)的响应。

您还可以对缓存的数据设置过期时间,过期后会被清除。

然后,您可以将 API 调用包装在检查缓存的辅助函数中,如果存在则返回该值。如果不是,它会发出 API 请求,将其添加到缓存中,然后返回它。

这可能是最直接的解决方案,并且似乎很好地涵盖了您的用例。

于 2013-03-25T06:20:29.007 回答