我试图了解如何从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和缓存指定的时间 - 我不能将其转换为工作代码吗?任何人都可以向我展示示例或指向任何学习材料吗?提前谢谢。
答案 0 :(得分:0)
您可以将redis用于缓存值键> VAL。在第一次请求后,您可以使用密钥保存提取的数据。第二个和其他提取可以接收以redis缓存的数据。
以下是Redis和PHP https://scotch.io/tutorials/getting-started-with-redis-in-php
的教程