我在用django构建一个网站,用户可以在一系列照片服务之间移动内容。正如你可以想象的应用程序做了很多API点击。使用外部API的时候加快页面加载速度
例如:用户将picasa,flickr,photobucket和facebook连接到他们的帐户。现在我们需要从4个不同的apis中提取内容,以保持用户数据的最新状态。
现在我有一个函数,更新每个api,我通过线程同时运行它们。 (所有未启用的api在第二行都会返回false,不会有太多开销来运行它们)。
这里是我的问题:
什么是最好的策略保持内容使用这些API的日期?
我有两个想法,可能的工作:
更新的API定期(如cron作业),也不论我们当时是用户得到什么。
好处:
- 它很容易和简单的实现。
- 当用户加载第一页时,我们总是会有非常好的数据。
陷阱:
- 我们要做的API打所有的时间是不活跃的,浪费了大量的带宽
- 这将可能使API提供商不高兴 用户
触发更新时在用户登录(在PAG电子负载)
益:
- 我们节省了一堆的带宽和运行得罪了该API提供商
- 不需要我们的服务器上的资源几乎量的风险较小
陷阱:
- 我们必须异步执行更新(并且在首次登录时不会有 任何内容)或...
- 第一页会需要很长的时间来加载,因为我们 让所有的API数据(我测量26秒这样)
编辑:在设计非常轻巧,设计只有两个图像,一个外部CSS文件和两个外部JavaScript文件。
此外,26秒数来自一台机器是在同一个局域网上的服务器