django - Django Channels 2.x 还是 Ajax?
问题描述
我有一个 jQuery 数据表,有很多数据(10000+ 行),可以从很多用户那里实时使用/更新,我需要该表一直刷新和更新。我在 1 秒内尝试过 Ajax 调用,但我认为这并不好,因为每个用户每秒都在发送 Ajax 请求 * 50 或更多用户,我认为必须有更好的解决方案。我一直在考虑使用 Django Channels 或类似的东西(?),我想知道这可能吗?基本上我需要在模型(数据库)上设置某种监听器,并在更改时提取新数据(几乎每秒)。我很想听听比我有更多经验的人的意见。先感谢您。
附言。我被告知为此使用网络套接字。
解决方案
简而言之,是的,网络套接字将是建议的方法。
如果您需要订阅的模型的所有更新都是通过 Django 的 ORM 进行的。
我建议考虑使用(或受其启发)DjangoChannelsRestFramework作为订阅数据库中多个模型的起点。
这个库被设置为允许您通过单个 Web 套接字连接订阅多个对象类型,并在对象更改时获取 ws 消息。它还提供了一些工具,让您可以通过 Web 套接字重用现有的 DRF 视图。
免责声明:我是 DjangoChannelsRestFramework 的作者。
推荐阅读
- laravel-7 - Walmart Api 与 Laravel 7 和自动数字签名创建的集成
- javascript - 如何在反应钩子中创建可重用状态?
- javascript - 如何解决鼠标悬停在图表上会出现旧数据/图表的问题?
- python - 训练准确率 100%,验证准确率不变
- hybris - 如何修改 Hybris Backoffice 重新聚焦功能
- python - 将列表列表与字典进行比较
- docker - 通过 API 调用为 DockerHub 存储库创建新的构建规则
- javascript - 如何按元素首字母过滤 JavaScript 数组?
- javascript - 将两个嵌套的 json 对象与 javascript 结合起来,并用一个键循环遍历它
- unity3d - 如何在 Cinemachine 中将游戏窗口指南中心更改为玩家中心?