【问题标题】:Facebook API - cache response on serverFacebook API - 在服务器上缓存响应
【发布时间】:2011-10-09 21:21:03
【问题描述】:

我有一个应用/网站,它会在特定用户交互时对 Facebook API 进行几次调用。我想知道在服务器上缓存来自这些 API 调用的响应的最佳方法是什么。

我当前的设置是 node.js 运行 Express 和 mongoDB 进行存储。我是否应该将 API 响应推送到带有时间戳的 mongo 中,然后在进行未来的 API 调用之前先检查那里?

【问题讨论】:

    标签: facebook caching mongodb node.js express


    【解决方案1】:

    我会使用 redis (http://www.redis.io) 或 memcached (http://memcached.org/) 来满足您的缓存需求。将密钥设为您正在进行的任何 api 调用的 md5 哈希,并在您点击 api 之前检查您的缓存是否存在密钥。

    【讨论】:

    • 很好的 Jeff,然后将研究 redis,因为我的部署环境开箱即用地支持它。您认为将 mongo 完全换成 redis 是有意义的(我目前没有在 mongo 中做任何花哨的事情),还是您通常仅出于缓存需求才使用 redis?
    • 我是redis的粉丝。如果你没有做任何花哨的事情并且可以让 redis 做你需要的事情,那么 redis 将比 mongo 快得多(内存与磁盘)。
    • 酷,将首先尝试它以满足缓存需求,然后可能稍后再尝试更多。谢谢杰夫。
    • 对于这种类型的东西,mongo 也将几乎完全从内存中提供数据(至少,它会像 redis 那样做,但后者会快一点)。如果你已经有了 mongo,那么添加另一个几乎完全功能重叠的技术对我来说似乎有点浪费。我会首先对这些选项进行基准测试,并且仅在您不满足性能要求时才探索替代方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 2019-09-26
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    相关资源
    最近更新 更多