javascript - 获取和存储 api 请求数据的架构
问题描述
这更像是一个架构问题。一个外部平台有产品和价格信息,比如说书籍。有一个 API 可用于获取此信息。
我读到的是应该可以在 Javascript 中创建一个函数并将 Javascript 连接到您想要在我自己的网站上显示数据的页面。这意味着对于每个页面请求都会进行一次 API 调用。由于请求的信息每天最多只更改一次,这听起来不是最有效的解决方案。
有人可以建议更好的解决方案吗?在后台执行请求、安排更新并将数据导入 mysql 的类似 php 或 javascript 函数的方向是什么?如果是这样,哪种语言最常见。
我需要 Joomla/php/mysql 环境的解决方案
解决方案
这是一个简单的想法 - 从 API 获取和存储结果(你认为不会在一天内改变的),无论是在磁盘上还是在数据库中,然后使用这些存储的结果来检索你本来会获取的内容来自 API。
由于跨页面重新加载在前端 JS 中存储任何内容并不容易,因此您需要使用 PHP。根据给出的内容,您似乎有两种调用 API 的方式:
- 通过前端 JS(禁止)
- 通过您的 PHP 后端(随时可用)
现在,您需要确保每(例如)24 小时同步一次结果。
将一个片段添加到您的 PHP 代码中,其中包含一个变量$lastUpdated
(或类似的东西),并为其分配当前时间的“静态”值(不使用time()
)。现在,添加几个语句来更新if
当前时间至少大于 24 小时的存储结果$lastUpdated
,然后更新$lastUpdated
到当前时间。
这应该可以为您提供每天一次 API 调用所需的内容。
PS:我不是 PHP 方面的专家,但你肯定可以弄清楚日期时间的东西。
推荐阅读
- html - 线性渐变文本在 Safari 中不起作用
- javascript - javascript代码不创建cookie的问题
- javascript - ReactRedux,控制台日志在我传入setInterval函数的回调中不起作用
- c++ - 如何将特征矩阵行引用(被视为向量)传递给另一个 .cpp 中实现的函数?
- vba - MS Excel 2019 - VBA - Workbook.OpenText 未正确使用指定的原始值
- python - 从 CoolProp 混合物中获取值错误
- java - 使用 OpenAPI 生成器的错误序列化 LocalDateTime
- mysql - 未知字段上的 SQL 连接
- python - 计算特定颜色的图像像素
- c# - DinkToPdf 包括 HtmlContent 中的图像