Ember Data如何管理大量记录?
我一直在与Ember Data合作,并试图理解一些概念。 我有一个相当沉重的数据密集型应用程序,我的后端有返回大量记录的端点。
所以,基本上我有Route有类似this.store.findAll('places')
,它可以返回数以千计的地方,每个地方都有几个文本密集的字段,如services
或description
。 这只是其中的一个资源,还有一些处理这些数据量的数据。
我主要担心的是,该应用程序遇到某种限制或变得无法响应。 所以我的问题是:Ember Data如何管理大量记录? 有没有处理这种情况的最佳做法?
Ember Data如何管理大量记录?
与处理少量记录的方式相同。 如果您尝试加载/获取大量记录,则不会对性能做任何特殊处理。 你需要自己处理。
有没有处理这种情况的最佳做法?
很不幸的是,不行。 分页是真正实现这一目标的唯一方法。 但正如你在这个主题中看到的那样,关于“最好”的方式有很多讨论。 有适配器和插件来处理这种情况,以及服务器端样板旨在使其更容易。 但是,与Ember Data分页确实没有规范的方式。
在我看来,处理大量数据的最佳方式是设计一个查询端点并在您的服务器上实现它,自己处理所有事情。 这将是最适合您的应用程序和最容易理解的。 如果听起来很复杂,那是因为它。 数据集分割/分页不是一个简单的问题需要解决,你一定会遇到一些问题。 这就是为什么还没有商定的最佳做法。
更新:Javier Cadiz在评论中提到了JSON API,所以我想我会提到它。 JSON API似乎是Ember Data的新实际标准,它确实规定了分页方法。 但是,JSON API相当新,尚未广泛采用。 我相信直到最近Ember Data才会切换到默认的JSON API适配器。 使用这种分页方式很可能会要求您遵守整个API,而不仅仅是分页方面。 (虽然你总是可以从中窃取一些想法。)因此,我不确定我是否会把它称为最佳实践。
底线:JSON API分页方式可能是未来的方式,但目前还不是很流行。 (虽然这只是基于我看到/阅读的内容,但没有说有多少人私下使用它。)
链接地址: http://www.djcxy.com/p/28871.html