Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 一个JSON调用应该检索多少数据?_Ajax_Performance_Json_Getjson - Fatal编程技术网

Ajax 一个JSON调用应该检索多少数据?

Ajax 一个JSON调用应该检索多少数据?,ajax,performance,json,getjson,Ajax,Performance,Json,Getjson,通过json调用获取项目列表时,最好使用几个小调用(根据需要获取信息)还是一个大调用来获取所有数据 例如,您有一个json调用来获取与特定标题关键字匹配的书籍列表。有100个结果。您正在以分页形式显示数据-每页显示10个结果。打一个电话就能得到所有结果,还是在每页上打下10个电话更有效 我想这部分取决于有多少结果。如果是一个巨大的数字,第二个选择似乎很明确。但是,一次电话能收到的物品数量有多大——100件、1000件、10000件?视情况而定 显然,您希望将带宽使用率保持在最低限度,但每个单独的

通过json调用获取项目列表时,最好使用几个小调用(根据需要获取信息)还是一个大调用来获取所有数据

例如,您有一个json调用来获取与特定标题关键字匹配的书籍列表。有100个结果。您正在以分页形式显示数据-每页显示10个结果。打一个电话就能得到所有结果,还是在每页上打下10个电话更有效

我想这部分取决于有多少结果。如果是一个巨大的数字,第二个选择似乎很明确。但是,一次电话能收到的物品数量有多大——100件、1000件、10000件?

视情况而定

显然,您希望将带宽使用率保持在最低限度,但每个单独的呼叫也会有开销。你必须做出一些有根据的猜测,最重要的是:你需要从第2页到第100页的数据的可能性有多大

如果很有可能(比如说,在90%的情况下,用户会点击相同结果集的多个页面),那么我会一次下载整个结果,否则,我会在您运行时加载各个页面

另一件需要记住的事情是延迟。每个ajax调用都有一定的延迟,这取决于客户端和服务器之间的距离(在网络拓扑中,不一定是地理位置)。对于第一次加载,延迟是不可避免的,但在那之后,您需要问问自己快速响应是否重要。在正常情况下,它是可以接受的,但是如果您的典型用例涉及页面之间来回翻滚,那么它可能会变得讨厌,并且您可能会考虑购买快点更长的初始加载时间。
如果您想加载多个页面,但结果集太大(例如,数千或数百万页),您可能会考虑更复杂的方案,例如,下载请求的页面和下一个10页,或者立即下载请求的页面,然后在后台预取下一个10页。

通常,每个ajax调用都有开销,降低不同调用的数量可以提高性能。。除非数据很大

在分页中,通常最好不要从一开始就获取所有数据,因为用户通常不会遍历所有页面。。因此,您可以通过不移动数据来降低服务器上的负载。。。。另一方面,如果数据相对较小,或者您认为用户需要查看所有数据,则获取它们以节省不同调用的开销