代码之家  ›  专栏  ›  技术社区  ›  Archeg

uWSGI和Flask:在请求之间将对象保留在内存中

  •  0
  • Archeg  · 技术社区  · 6 年前

    我的堆栈是 uWSGI , flask nginx

    由于许多原因,这通常不起作用。一个是良好的部署要求您在其中拥有多个流程 uwsgi 在生产中(甚至可能有几台机器来扩大规模)。但我的情况非常具体:我正在为一个硬件构建一个web应用程序(你可以把你的家庭路由器配置页面看作一个很好的例子)。这意味着不需要扩展。我也没有一个数据库(至少不是传统的数据库),而且通常会同时有1-2个客户端。

    --processes 1 --threads 4 uwsgi ,这是否足以确保数据作为单个实例保存在内存中?还是我也需要使用 --threads 1 ?

    nginx/uwsgi

    如果有更好的方法来处理这些问题,我也很欢迎关于如何设计所有这些问题的建议。请注意,我不考虑为此使用任何持久存储-这不值得努力,甚至可能是由于硬件限制。

    澄清一下:当我谈论一个数据实例时,我想到的是我的 app.py 只执行一次,并将在那里定义的实例保持在服务器的生命周期内。

    0 回复  |  直到 6 年前
        1
  •  0
  •   pyFiddler    6 年前

    如果在服务器重启后不需要数据持久化,为什么不在应用程序中构建一个缓存对象呢 push pop 操作?

    一个简单的对象数组就足够了,一个flask路由将新数据推送到数组中,另一个路由可以从数组中弹出数据。

    推荐文章