首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以请求JSON字符串的一部分吗?或者只解码特定的部分来加快处理速度?

我可以请求JSON字符串的一部分吗?或者只解码特定的部分来加快处理速度?
EN

Stack Overflow用户
提问于 2011-05-13 05:17:52
回答 4查看 415关注 0票数 2

我有一个执行速度非常慢的页面,因为它是由JSON请求加载的。

所以我想知道怎样才能让整个过程更快。我可以只请求字符串的一部分吗?考虑到我在下面的代码中使用的都是"cast“数组,所以获取所有的数组是一种浪费。

下面的代码必须为我的页面上列出的每一部电影运行,目前是20部。但在减少电影数量之前,我想知道如何才能加速这一部分,这是正确的问题。

这是我得到的使页面变慢的代码,因为它必须运行20次。

代码语言:javascript
复制
$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。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-13 07:30:36

您的API在google页面速度中得到0分,因为压缩被禁用。在启用压缩的情况下,JSON输出的加载速度将提高95%。

如果你不能控制服务器,它可能很难修复,但这里有一个如何修复它的链接。

Minimize payload

票数 0
EN

Stack Overflow用户

发布于 2011-05-13 05:26:38

您可以设置一个cron作业,它每隔X分钟在后台获取所有JSON (这样无论它有多慢),然后解析它并将其存储在数据库中。然后,每次加载上面显示的PHP页面时,只需从数据库中获取缓存数据并输出即可。

票数 0
EN

Stack Overflow用户

发布于 2011-05-13 05:54:51

您应该能够在不到一秒的时间内解析大量的JSON x 20。你怎么知道JSON是瓶颈呢?可能还有其他一些问题。从数据库检索数据的速度有多快?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5984585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档