Python 3.x 烧瓶应用程序中对象的生存期

Python 3.x 烧瓶应用程序中对象的生存期,python-3.x,flask,Python 3.x,Flask,我有一个web应用程序,可以从数据库检索数据并将其显示在UI上。我有一个名为table的类,它根据URL变量处理数据库请求 我的问题是:当请求一个新的URL时,flask会回收对象吗?还是在用户注销之前将对象保留在内存中 我是否应该有一个表对象,并在URL每次更改时更新查询?还是应该创建一个新对象?简短回答:取决于初始化类的时间和地点 对象与用户登录和注销几乎没有关系。对象寿命取决于初始化的时间和地点 在函数或类之外初始化的对象实际上是单例的,只要应用程序实例存在,它们就一直存在 类内初始化的对

我有一个web应用程序,可以从数据库检索数据并将其显示在UI上。我有一个名为
table
的类,它根据URL变量处理数据库请求

我的问题是:当请求一个新的URL时,flask会回收对象吗?还是在用户注销之前将对象保留在内存中


我是否应该有一个表对象,并在URL每次更改时更新查询?还是应该创建一个新对象?

简短回答:取决于初始化类的时间和地点

对象与用户登录和注销几乎没有关系。对象寿命取决于初始化的时间和地点

  • 在函数或类之外初始化的对象实际上是单例的,只要应用程序实例存在,它们就一直存在

  • 类内初始化的对象的持续时间与原始对象的持续时间相同

  • 在函数完成执行之前,函数中初始化的对象一直存在


  • 现在处理数据库请求的类最好保持为单例。这避免了每次必须执行查询时创建新数据库连接的必要性。因此,创建单例的最简单方法是在函数或类之外的模块中将其声明为变量

    如果我全局启动缓存(singleton)!多进程或多线程运行时不会出现问题吗!?