首页 > 解决方案 > 获取和存储 api 请求数据的架构

问题描述

这更像是一个架构问题。一个外部平台有产品和价格信息,比如说书籍。有一个 API 可用于获取此信息。

我读到的是应该可以在 Javascript 中创建一个函数并将 Javascript 连接到您想要在我自己的网站上显示数据的页面。这意味着对于每个页面请求都会进行一次 API 调用。由于请求的信息每天最多只更改一次,这听起来不是最有效的解决方案。

有人可以建议更好的解决方案吗?在后台执行请求、安排更新并将数据导入 mysql 的类似 php 或 javascript 函数的方向是什么?如果是这样,哪种语言最常见。

我需要 Joomla/php/mysql 环境的解决方案

标签: javascriptphpdatabaserestarchitecture

解决方案


这是一个简单的想法 - 从 API 获取和存储结果(你认为不会在一天内改变的),无论是在磁盘上还是在数据库中,然后使用这些存储的结果来检索你本来会获取的内容来自 API。

由于跨页面重新加载在前端 JS 中存储任何内容并不容易,因此您需要使用 PHP。根据给出的内容,您似乎有两种调用 API 的方式:

  • 通过前端 JS(禁止)
  • 通过您的 PHP 后端(随时可用)

现在,您需要确保每(例如)24 小时同步一次结果。

将一个片段添加到您的 PHP 代码中,其中包含一个变量$lastUpdated(或类似的东西),并为其分配当前时间的“静态”值(不使用time())。现在,添加几个语句来更新if当前时间至少大于 24 小时的存储结果$lastUpdated,然后更新$lastUpdated到当前时间。

这应该可以为您提供每天一次 API 调用所需的内容。

PS:我不是 PHP 方面的专家,但你肯定可以弄清楚日期时间的东西。


推荐阅读