gpt4 book ai didi

ruby-on-rails - 我应该在后端(Rails API)还是前端(React/Redux)上查询和过滤

转载 作者:行者123 更新时间:2023-12-03 13:34:25 24 4
gpt4 key购买 nike

我有一个应用程序,允许用户对 30,000 项数据进行排序和筛选。现在,我从 Redux 操作向 Rails API 发出获取请求,查询由 Rails 端的作用域方法处理。我的导师建议我将所有查询移至前端以提高效率,但我想知道管理包含 30,000 个对象(每个对象有 50 个自己的属性)的 Redux 状态对象是否真的会更高效。

(一些额外的说明:现在我只在本地运行该应用程序,并且我正在服务器端进行分页,因此它运行得快如闪电,但是当我在 Heroku 之类的地方启动它时,我有点紧张另外,我知道如果我将查询移至前端,我将有更多选项来使用 React-router 将查询状态保存在 URL 中,但我已经用现有的方法解决了这个问题设置。)

最佳答案

让我们看一下每种方法的优缺点:

前端查询

  • 👍 查询不需要再次网络请求
  • 👎 网络请求速度较慢,因为要发送的数据较多
  • 👎 应用程序必须在内存中存储更多数据
  • 👎 查询不一定更高效,因为客户端必须进行过滤,并且通常没有有效执行此操作的机制(缓存和索引)。

后端查询

  • 👍 发送给客户端的数据更少
  • 👍如果数据库索引设置正确,查询速度会相当快
  • 👍应用更加轻量级,它只保存需要显示的数据
  • 👎每个查询都需要网络请求

后端查询的优点远远超过前端查询的优点。我不得不不同意你导师的意见。想象一下,您想在 Google 上搜索某些内容,而 Google 将您想要的所有相关结果发送到您的浏览器,并在您的浏览器中进行分页和排序,您的浏览器会感觉非常缓慢。通过适当的缓存并向数据添加数据库索引,网络请求不会成为一个巨大的缺点。

关于ruby-on-rails - 我应该在后端(Rails API)还是前端(React/Redux)上查询和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49714533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com