如何缓存/保存外部API

时间:2014-01-15 09:11:19

标签: php xml json api

我正在研究如何保存/缓存外部API,因为当外部api不工作时,它会使我的网站出现错误。我想知道一种缓存api的方法。 我会以http://steamcommunity.com/id/712?xml=1为例 它经常下降,我也会举一个json格式的api的例子,但是如果没有api键就找不到任何api,这仍然是一个json api - http://api.steampowered.com/IEconItems_440/GetSchema/v0001/?key=&language=en 真的很感激一些帮助 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以为此滚动自己的包装器。工作流程如下:

  • 检查缓存中是否存在
  • 如果是,那么你将检索它
  • 如果没有,那么您从所需的URL获取所有内容并将其存储在缓存中

- 这看起来像这样,

$cache = new YourOwnCacheManager(array(
   'ttl' => 60,
   'path' => '/temp.cache'
));


$url = 'http://steamcommunity.com/id/712?xml=1'


if ($cache->isCached($url)) {

   $content = $cache->read($url);

} else {

   $content = file_get_contents($url);
   $cache->write($url, $content);
}

echo $content;