如何在PHP中缓存JSON API数据?

时间:2017-10-04 18:42:05

标签: php json caching

我试图了解如何从API缓存数据(准确地说是PokeAPI)以限制应用程序为数据调用的数量。

例如,我的一个函数得到了#34;所有的口袋妖怪"来自API:

 function getAllPokemon() {
      $url = 'http://pokeapi.co/api/v2/pokemon/?limit=151';
      $response = Requests::get($url);
      $allPokemonData = json_decode($response->body, true);
      return $allPokemonData;
    }

我使用此函数中的数据在我的pokedex应用程序中构建列表项的菜单。如何缓存JSON结果,以便每次页面重新加载时都不必调用api?

从我的研究中我知道需要做什么的基础知识,需要在目录中创建缓存,并且应用程序需要在调用api之前检查缓存文件是否存在,如果存在的话不要调用,如果它没有调用api和缓存指定的时间 - 我不能将其转换为工作代码吗?任何人都可以向我展示示例或指向任何学习材料吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将redis用于缓存值键> VAL。在第一次请求后,您可以使用密钥保存提取的数据。第二个和其他提取可以接收以redis缓存的数据。

以下是Redis和PHP https://scotch.io/tutorials/getting-started-with-redis-in-php

的教程