每 X 分钟将 JSON 输出插入数据库


Inserting JSON output into Database every X minutes?

虽然我知道怎么做,但我的思维方式似乎不是"最好的",使用 PHP。

我有一个 API(本地),它可以生成一个 JSON 输出,其中包含我想要的数据库中的大量数据,但我只想每 5 分钟左右更新一次。

我这样做的方法是:

  1. 解析 JSON 输出
  2. 检查响应(状态 = 真/假)
  3. 如果为 true,则遍历 JSON 并将其插入数据库
  4. 随时使用 cron 作业执行它

但是,我看到这有一些问题。

  • 什么会阻止某人在浏览器中加载该页面并更新它?
  • 如何处理错误或在 JSON 状态输出为 false 时收到通知?
  • 当然,为每个 JSON"循环"运行插入查询效率低下吗?

我对这里的所有选项都持开放态度 - 寻找最有效/安全/可重用的选项......不一定是PHP,但我对此最有经验的。

api文件(返回您的JSON)是否完全有必要驻留在public_html目录中?与此文件交互的文件也是如此。您可以使用.htaccess重写规则(如果您不使用 Apache 或类似规则)阻止对文件的访问。

是的,运行一个insert每个循环都是低效的。您可以使用INSERT INTO ... VALUES语法创建更大的批处理插入。如果你的数据集很小,你可以只做一个大insert