我有一个运行pandas的flask webapp在后端进行一些数据分析。
现在,我采用了天真的方法,即使用AJAX为用户将查询发送回服务器并与数据进行交互。但事实证明,每个请求都有很多开销,每当我需要将数据重新加载到熊猫/内存中时,这是非常重复的。
我当时想用socketio可以很好地使用它-我将打开一个套接字连接,这样,一旦将文件加载到熊猫中,用户就可以通过套接字以更少的开销进行响应并更响应地查询数据。
所以我现在的问题是:
我通常建议为每位用户开放一个房间,这是一种有效的解决方案,可以轻松地以服务器推送的消息向单个用户讲话。
这些房间都保存在内存中的Python数据结构中,因此仅占用一点内存就很昂贵。我没有测量每个用户的数量,但是它可能只是房间名称顶部的几个字节。
名称空间用于将多个不同的连接复用到一个物理通道中。如果只有一个连接,则对所有内容使用相同的名称空间。例如,如果您的页面中有两个客户端应用程序(例如,角度应用程序),则应使用多个名称空间,每个客户端应用程序都有自己的事件处理程序集。除此之外,没有理由使用多个名称空间。
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句