我正在使用API来获取某些数据,但由于数量很大,我每次用户访问网站时都无法获取它。相反,我想到一次取出它,存储在数据库中并查询用户需要的任何内容并显示它。关键是我可能需要在其他时间向API发送请求以获取新添加的数据,对于此问题,我想要安排系统再次从API获取数据的某个时间或手动发送请求以获取新数据。
为了澄清我的观点,我想象一下这个序列:
我的问题:我的方法是否可行且有效,还是可以更轻松地完成所有这些工作?
更新
我将使用gAdventures API列出不同的游览及其详细信息。
答案 0 :(得分:0)
我建议使用我的Swiss Cache库。它支持基于文件的缓存和APC。甚至图像缓存(WIP)。如果数据量很大,我的库默认支持Gzip压缩。因此大量数据会自动压缩。
我的库的示例代码:
//Your API request function...
require_once("swiss_cache.php");
$cache = new swiss_cache();
$data = $cache->get("gAdventures_response");
if(!$data)
{
$data = someFunctionThatCallsTheService();
$cache->set("gAdventures_response", $data, 3600); //Save data for one hour.
}
只需确保在swiss_cache.php中设置缓存路径! :)如果您对我的图书馆有任何问题或疑问。只是给我发消息!正在处理文档。