我正在开发一个从Amazon.com和Walmart提取产品价格数据的网站。我猜测将来它还会从其他地方提取数据。
我的第一个想法是直接从亚马逊提取数据(使用他们的产品广告API),然后在网站上显示每个登陆页面的访问者的数据。如果我要检索的产品价格不多(或者网站访问者数量很少),这不是一个坏主意。我认为,一旦网站繁忙,我会遇到问题,如果我增加了我想要提价的产品数量。
使用Amazon和Walmart API,我能够成功进行REST api调用并解析返回的XML以获取我需要的信息。
将信息存储在本地数据库中是否有意义,每隔1-5分钟更新一次,然后让网站访问者从本地数据库中提取定价信息,而不是向亚马逊调用API和沃尔玛?
如果我选择这条路线并创建一个使用亚马逊和沃尔玛API来提取价格数据的功能,那么如何在后台每隔1到5分钟自动运行此功能,24/7/365?
答案 0 :(得分:2)
将该信息存储在本地数据库中是否有意义
是。实际上这听起来就像一个典型的缓存设置。我建议查看Redis而不是使用关系数据库。
然后我如何每隔1到5分钟自动运行此功能 背景
可能是Cron工作。在我提供更详细的建议之前,您必须提供更多信息,例如您的应用程序运行位置(AWS EC2或其他地方?)以及它是否在Linux或Windows上运行。
答案 1 :(得分:1)
这取决于您的负载和缓存命中率 - 例如,如果您每天只有100位访问者访问几个产品页面 - 无需每分钟更新1000多个位置,甚至可能无需存储任何内容。
但是如果您的访问者经常查看相同的页面 - 那么缓存将非常有用。
然后是不同的策略: