我有一个执行速度非常慢的页面,因为它是由JSON请求加载的。
所以我想知道怎样才能让整个过程更快。我可以只请求字符串的一部分吗?考虑到我在下面的代码中使用的都是"cast“数组,所以获取所有的数组是一种浪费。
下面的代码必须为我的页面上列出的每一部电影运行,目前是20部。但在减少电影数量之前,我想知道如何才能加速这一部分,这是正确的问题。
这是我得到的使页面变慢的代码,因为它必须运行20次。
$films_result = $tmdb->getMovie($film->id);
$films = json_decode($films_result);
foreach ($films as $film) {
foreach ($film->cast as $cast) {
if ($cast->job == 'Actor') {
echo '<a href="person.php?id=' . $cast->id . '">' . $cast->name . '</a> ';
$num_actors++;
if ($num_actors == 5)
break;
}
}
}我到处看了看,但我不知道我在找什么。我在这方面还是个非常非常初级的人。所以,请不要有任何解决方案涉及任何其他技术,只需PHP。
发布于 2011-05-13 07:30:36
您的API在google页面速度中得到0分,因为压缩被禁用。在启用压缩的情况下,JSON输出的加载速度将提高95%。
如果你不能控制服务器,它可能很难修复,但这里有一个如何修复它的链接。
发布于 2011-05-13 05:26:38
您可以设置一个cron作业,它每隔X分钟在后台获取所有JSON (这样无论它有多慢),然后解析它并将其存储在数据库中。然后,每次加载上面显示的PHP页面时,只需从数据库中获取缓存数据并输出即可。
发布于 2011-05-13 05:54:51
您应该能够在不到一秒的时间内解析大量的JSON x 20。你怎么知道JSON是瓶颈呢?可能还有其他一些问题。从数据库检索数据的速度有多快?
https://stackoverflow.com/questions/5984585
复制相似问题