情境:
我正在使用angularjs构建一个Web应用程序。我有一个api连接到我的数据库。
例如,如果我有一个页面使用我的数据库中的数据。这是最好的方法吗?
Way One
获取所有数据的请求
var array = http.get( find all );
当我需要特定查询时
var another-array = http.get( find by query );
第二种方式
获取所有数据的请求
var array = http.get( find all );
当我需要特定查询时
for(loop through array to find data);
有些相关的问题,也是我在这两个选项之间的联系的原因,但是一般的经验法则是什么,我应该为网页制作多少http.get()才能减慢操作量
答案 0 :(得分:2)
取决于。
如果您的数据集非常小,全部查找和循环(第二种方式)会更好。您可以找到所有数据"一次将该数据存储在缓存中(全局变量或浏览器存储)。这样,HTTP请求/响应就不会浪费时间。
如果您的数据集非常大,按查询查找(方式一)更好,您需要避免"找到所有数据"操作(除非用户确实要检查所有数据)。当数据集非常大时,"找到所有数据"操作和数据传输将非常缓慢。
当使用按查询查找时,为了提高性能,您可以将每个查询结果存储在缓存中,这样当下次进行相同的查询时,您不需要再次提出请求。
对于你的第二个问题:"我应该为一个网页制作多少http.get(),然后再减慢操作速度。",我的建议是:定义你最老的支持浏览器,进行实验并检查最大并发http请求数。