烧瓶应用中物体的生命周期

时间:2015-09-22 19:42:26

标签: python-3.x flask

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

我的问题是:当请求新的URL时,flask会回收对象吗?或者它是否将对象保留在内存中,直到用户注销?

我应该有一个表对象,每次更改时只更新查询吗?或者我应该创建一个新对象?

1 个答案:

答案 0 :(得分:0)

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

对象与用户登录和注销无关。对象生存期取决于它们初始化的时间和位置。

  1. 在函数或类外部初始化的对象实际上是单例,只要应用程序实例存在就会持续

  2. 只要原始对象持续,对象就会在类中初始化。

  3. 在函数内部初始化的对象一直存在,直到函数完成执行。

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