django - 我应该在哪里排序和过滤?后端还是前端?
问题描述
关于是否应该在前端或后端进行排序和过滤,我遇到了概念冲突。
一些人建议逻辑应该在后端并且数据数量有限,即)如果您拥有数百万个数据集以减少页面加载时间,则应一次向客户端提供 10-100 个结果。我感到困惑的是,如果有很多客户端同时排序和过滤(即 100 个用户)如果是这种情况,那么您必须不断地对数百万条记录进行排序和过滤 100 次,我认为这会减慢服务器。
如果我假设我的数据集在 10000 - 100000 左右,并且我有 10-50 个用户同时使用该应用程序,并且如果初始时间负载与私有企业应用程序(即)ERP 无关,那么应该在哪里过滤和排序逻辑生活?
解决方案
您的问题没有一个正确答案,以下是您问题的优缺点。
在服务器端排序:
通过对数据进行排序的服务器开销。
由于您已经在发送过滤数据,因此用户的数据传输更少。
- 如果排序需要大量时间,用户体验可能会很差,用户会在空白屏幕上等待。
用户端排序:
增加了服务器和用户的网络使用率,因此服务器的运行时间很长。
可能会提供稍微更好的用户体验,它可能会增加页面加载时间的整体增加,但用户的屏幕上会有一些数据。
最好的将是两全其美的用户,而不是坚持一个。
您可以在服务器级别使用缓存,这可能会提高您的应用程序性能。
推荐阅读
- java - 从java中的串口读取时获取垃圾值
- java - 如何使用 JPA 与关联类建立递归的多对多关系?
- nfc - NFC 贴纸以启动具有唯一 URL 的网站
- ibeacon - WebBluetooth可以发送信标吗
- c++ - 如何将 PHYSICAL_MONITOR 与监视器 DeviceID 关联
- docker - 无法通过“network_mode:host”访问容器
- dialogflow-es - 无法通过控制台创建新的 Dialogflow 代理
- reactjs - TypeError: _ClassName__WEBPACK_IMPORTED_MODULE_7__.ClassName 不是构造函数
- python - Beautiful Soup - 查找所有包含已知字符串的类
- php - 包含文件夹中的所有文件 - PHP