[英]Decoding and caching json every 60 minutes
如何在php网页上执行此操作?
我想获取并解码json字符串,并在页面上将结果显示为html,但是,我不希望它热链接回源。
如果我可以将解码后的字符串写到txt文件中,请在服务器上说weather.txt并保持html格式并执行该操作,以使该页面直到上次获取后60分钟过去都不会获取json脚本,无论在该60分钟内打开页面多少次,并查看了weather.txt。
我所能想到的只是一个简单的脚本,该脚本具有热链接功能,而我尝试的所有其他操作都只是失败了。
$ file = file_get_contents(' http://sample.com/weather ');
$ out =(json_decode($ file));
echo $ out-> mainText;
将不胜感激与此有关。
您可以使用filemtime()每分钟重新制作weather.txt,否则,请发送现有文件。
您可以使用UNIX cronjob,它每小时用您的代码输出内容覆盖weather.txt的内容
您也可以将数据存储在2列表中,其中1是数据,一个是dts。
所以....
SELECT * FROM table WHERE dts > NOW() - INTERVAL 60 MINUTE
if($mysqli->num_rows == 0)
{
$file = file_get_contents('http://sample.com/weather');
REPLACE INTO table SET data="$file",dts=NOW();
$out = json_decode($file);
}
else
{
$out = json_decode($mysqli->data);
}
echo $out->mainText;
用您选择的RDBMS替换SQL语句
在Twitter api上尝试我的答案, 每小时仅允许150次json调用,Twitter丢弃不需要的cookie。 我该如何预防?
有一个不错的缓存模块。 设置为5分钟,但修改60分钟很容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.