我目前正在使用Laravel构建一个小应用程序,并希望在仪表板上显示天气。为此,我使用了一个访问Forecast.io API的Composer包。但是,由于该API对每天免费通话的速率限制,我想使用Laravel工具缓存数据,并且每隔几分钟就更新一次。
要做到这一点,我可以想到两种方式:
从我的观点来看,第一个选项似乎更好,因为它保证我将始终拥有可用的数据,即使缓存已清空。除此之外它似乎更清洁。
问题是:我不知道如何在Laravel中实现这样的类,也无法在官方文档中找到任何内容。我的愿望是,我可以简单地调用一个Facade,它给我数据,其余的在后台处理。我只需要知道在哪里放置这样的Facade以及如何设置它。
此致
Heiko
答案 0 :(得分:1)
你甚至不需要一个只使用
的类$weather = Cache::remember('weather', $minutes, function() {
// Your API call
return $weather;
});
您可以在此处查看文档https://laravel.com/docs/5.2/cache#retrieving-items-from-the-cache
此方法的缺点是如果缓存为空,您的用户将等待API调用...
如果您只想将值存储在缓存中然后检索它,您仍然可以使用cron。