数据库 – 远程服务缓存策略;我应该考虑什么?
|
我的网络应用程序包含从我无法控制的外部API收集的数据.我每小时限制大约20,000个API请求.我的数据库中有大约250,000个项目.这些项中的每一项本质上都是缓存版本.考虑更新1个项目的缓存需要1个请求.显然,在这些情况下,不可能拥有完美的最新缓存.那么,在开发缓存数据的策略时,我应该考虑哪些事情.这些是我想到的事情,但我希望有人有一些我没有想过的好主意. >自项目创建以来的时间(更少的时间意味着更重要) 更多细节:项目是照片.每张照片都属于一个活动.当前发生的事件更像是客户端查看(因此它们应该优先考虑).虽然我现在只有250K项目在数据库中,但这个数字增长相当快(不会很长,直到达到100万标记,可能是5个月). 解决方法http://instagram.com/developer/realtime/会有用吗?当有新的(可能更新的?)图像供您查看时,Instagram似乎愿意POST到您的服务器.这会诀窍吗?否则,我认为你的问题听起来很像任何搜索引擎的问题 – 你见过Wikipedia on crawler selection criteria吗?您正在处理网页抓取工具所面临的许多问题:抓取内容,抓取频率以及如何避免向单个网站发出过多请求.您也可以查看open-source crawlers(在同一页面上),了解您可以学习的代码和算法. 无论如何,要抛弃一些关于爬行标准的想法: >更新经常更改的内容.因此,如果一个项目在最近五次更新中没有改变,那么也许您可以假设它不会经常更改并更新它. >图像更新和需要记录的机会的统计模型. >更新经常查看的内容. >每小时5,000个请求通过数据库的完整内容进行搅拌(前提是它们自上次爬行程序以来未被更新)> 2,500个请求处理新图像(您提到的更重要)> 2,500个请求处理当前事件的图像> 2,500个请求处理前15,000个查看次数最多的图像(只要该图像的最后5次检查发生变化,否则按递减计划检查)> 2,500个请求处理至少已查看过的图像>总计:每小时15,000个请求. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux下安装apache与php;Apache+PHP+MySQL配置攻
- sql-server-2012 – 将维护计划复制到其他服务器
- sql-server – Golang MSSQL驱动Windows 7 64位
- sql-server-2005 – 无法恢复数据库,数据库正在被
- 数据库 – 使用SqlBulkCopy和Azure进行并行批量插
- sql-server – SQL Server的自然排序?
- SQL Server 备份到异机的简单示例
- SQL2005CLR函数扩展-解析天气服务的实现
- Mysql version can not be less than 4.1 出错解
- sql – varchar(128)比varchar(100)好
