我正在查询的API将需要5个参数,称它们为A,B,C,D,E,使用数据存储进行一些计算,然后返回大约8个字段的响应,这些字段都将被存储。不幸的是,这个计算需要很长时间,导致用户体验最多缓慢。值得注意的是,这个回应将在屏幕上使用JavaScript应用程序,而周围的技术目前是PHP 7.1,使用Laravel和MySQL缓存来自API的数十亿响应的最快/最有效的方式是什么?
我的计划是将每个响应保存在一个表(或类似的响应中)然后将它们用作直接查找,因此最终用户可以输入A,B,C,D,E并获得即时响应。
所以,这个问题基本上是两个部分:
1:什么是查询一个RESTful API十亿倍(或更多)在一天的最佳方式?目前,对于类似的情况,我一直在使用Guzzle Promises一次发送5个请求。
2:推荐使用哪种技术来存储此数据?它只需要是一个单行或一个没有关系的实体。这些数据不会用于连接或类似的任何事情。目前,计划是使用分片MySQL,或者使用Redis(但是我担心Redis最终会停止扩展,比如我对数据的需求大量增加)。
要么对这些问题的任何见解将不胜感激
你应该看看[help/on-topic]和[ask]。 – pvg
你需要重新考虑你的策略。您无法每天查询REST API 10亿次 - 即每秒每秒11574个请求。如果每个响应为1KiB,即每天数据传输约为1TB,则API提供商每个月需要花费数百或数千美元,更不用说他们需要处理您的流量的数十台服务器。 –