【问题标题】:Should I store a very long array in back-end or front-end?我应该在后端还是前端存储一个很长的数组?
【发布时间】:2018-11-23 14:36:37
【问题描述】:

在我的 Angular 应用程序中,我有一个很长的数组,我想把它放在我可以很容易地从我的前端访问的地方不要减慢我的应用程序,有多个选项,我不知道哪个一个是最好的。我应该将其存储在:

我的 API

app.get('models', (req, res) =>{var models = ['m1', 'm2', 'm3', ..., 'mn'];
res.send(models);
});

在 API 数据库中:

app.get('models', (req, res) =>{
      Models.find({}, (dara, err){
      res.send(models);
    })
});

在我的前端:

// models.ts

在我的组件中的一个变量中

任何评论将不胜感激。

【问题讨论】:

  • 本地存储你试过了吗,你可以在整个应用程序中轻松检索。
  • 我认为您需要更清楚地了解“商店”的含义,并且可能避免使用“最佳实践”之类的术语。请尝试向我们展示您实际需要做的事情。
  • @NeilLunn 因为它的数组很大,我认为它可能会对性能产生不好的影响
  • 你太抽象了,这不适合在这里提问。我提示您为您的问题添加细节,并以人们可以清楚地看到并给您明确答案的方式解释您认为您需要做的事情。所以建议editing your question 提供更多描述性细节。
  • 这真的取决于它的使用方式。尝试几种方法,看看哪种方法最适合您。考虑客户端的初始加载时间、客户端缓存、...

标签: node.js angular mongodb typescript


【解决方案1】:

答案取决于你想做什么,所以:

在前端 尝试在前端存储数据绝不是一个好主意,这意味着用户将请求仅使用或读取少数数据的完整数据列表。 如果你仍然认为你想在那里做:你可以总是有一个常量,那么你可以使用本地存储(注意空间限制 10MB)、全局变量或只是一个要导入的文件来使用它 注意:使用 suspense 或任何延迟加载,您将能够避免在发送其他所有数据的同时发送此数据。

在后台 是的,这是获得您需要请求的信息的最佳位置,在那里您可以使用 DB 来存储并使用 GET 来请求它,这是常见和最佳的方法。 注意:避免在一个请求中发送所有列表,尝试索引或使用分页,大多数情况下你不需要在 FE 上有这么大的数组。

但归根结底,更多的是基于您想要构建的决定,这只有一个好的答案。

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2020-06-02
    • 2017-10-21
    • 2021-12-07
    • 2019-02-20
    • 2020-03-13
    • 2019-02-01
    相关资源
    最近更新 更多