让我先简单解释一下这个问题。我最近开始涉足网络开发。我知道现代 MVC 体系结构的位和字节,并且已经在使用它。但是现在我打算建立一个仪表板,我对如何去做感到困惑。
传统的数据流是,它从后端的数据库中加载,稍加处理并作为响应发送到前端。这就是我到现在为止的工作。
但是谈到仪表板,假设应该在仪表板上显示的数据需要太多的处理。就像假设仪表板显示该人到目前为止已经花费/赚了多少钱。
现在,添加一些背景上下文。如果该应用程序是关于显示该人到目前为止在在线购物网站上花费了多少,则可能不需要太多处理。加载数百条记录可能没问题(也许!)。
但是,如果仪表板是关于显示盘中交易者到目前为止(自从他/她加入以来)已经花费/赚取了多少,那就太重了。在这种情况下,加载数万条记录并计算(加/减)将导致服务器负载。
在这种情况下,我正在考虑为报告创建一个单独的表格,该表格会在必要时更新(例如:当用户执行新交易时)。然后简单地读取数据并将其发送到前端。此外,如果需要,可能会进行一些处理,但所有繁重的工作都已经完成。
这两个例子可以分为两类:
- 实时处理
- 提前处理
现在,我的问题是,“我应该总是使用第二种方法吗?” 我有这个问题是因为如果处理太少,那么为报告创建单独的表格只是浪费存储。所以,我能想到一些取舍。
现在,进入这个问题的第二部分。这部分是指我应该如何在前端处理数据更改。三种可能的方式是:
- 定期更改(如果数据更新频率较低,则可以)
- 即时/实时更改(可能使用数据流之类的东西?)
- 即时/实时更改,但仅将更新(发生的新更改)而不是整个数据发送到前端
现在,谈谈我对这部分的看法。如果数据更改的频率较低,即一天一次,则可以采用第一种方法。但我仍然不知道第二个和第三个。另外,我应该使用数据流吗?谁能提供一些关于流与正常请求-响应周期有何不同的见解?我认为这可能与 websockets 或类似的东西有关,但我不知道。
PS:我目前使用 Django 作为我的后端,并计划使用 React/Vue 或类似的框架作为我的前端。(答案将与此无关,但仅供参考)