我有一个Web应用程序,可以从数据库中检索数据并将其显示在UI上。我有一个名为table
的类,它根据URL变量处理数据库请求。
我的问题是:当请求新的URL时,flask会回收对象吗?或者它是否将对象保留在内存中,直到用户注销?
我应该有一个表对象,每次更改时只更新查询吗?或者我应该创建一个新对象?
答案 0 :(得分:0)
简短回答:取决于课程初始化的时间和地点。
对象与用户登录和注销无关。对象生存期取决于它们初始化的时间和位置。
在函数或类外部初始化的对象实际上是单例,只要应用程序实例存在就会持续
只要原始对象持续,对象就会在类中初始化。
在函数内部初始化的对象一直存在,直到函数完成执行。
现在处理数据库请求的类更好地保留为单例。这避免了每次必须执行查询时都必须创建新的数据库连接。因此,创建单例的最简单方法是将其声明为函数或类外部模块中的变量