回调时存储数据的最佳方式 -Python - Django - Bokeh - Webdevelopment

Best way store data when callback -Python - Django - Bokeh - Webdevelopment

进行散景回调(缩放)时,必须加载新的 500 个值。 xRangeStart 和 xRangeEnd 从总数组中定义新的所需值。 如何存储这个总数组以获得最佳性能。

Redis,直接来自数据库 (MongoDB),其他方式?(后端无状态)

流量:

前端的用户操作 --> 回调调用 --> ajax --> 这里我需要按照描述获取新数据 --> 从总数组中获取新数据 --> ajax returns --> source.change.emit()

粗体部分存储在REDIS atm中(编码为python)。当图表中有多个 graphs/lines 时,回调需要几秒钟的时间(每个大小为 300 万个值的数组大约需要 1 秒)。有没有办法提高这个速度。

您是说 AJAX 后端已 Python 启用,因此您可以尝试 Datashader 预处理和优化要返回的数据。

另一个选项是在前端将 wheel_zoom 替换为具有 "mouseup" 和 callback_policy 的 "zoom slider",这样回调就不会连续触发但仅限于鼠标释放。还具有滑块回调使得可以在 Bokeh 服务器上执行 Python 回调,您可以在其中存储 Redis 数据的预处理、优化副本。