查阅一番资料后,大概了解了下应用上下文的机制。
在 http://flask.pocoo.org/docs/0.12/appcontext/#app-context 中,有这么一句话 :"The context is typically used to cache resources that need to be created on a per-request or usage case." 然后举例将一个数据库的连接( db )绑定到 g 上,又通过 @app.teardown_appcontext 来关闭连接 db。既然 应用上下文 会随每个请求的结束而销毁,那么 db 不就会在每次请求的开始前创建连接,又在结束后关闭连接么?完全谈不上缓存或者复用啊。
1.g 的生命周期明明就一个请求的开始和结束,为什么能说用来cache resources?
2.我能不能在应用上下文结束时不关闭连接,这样下次有请求来不就不用再去创建连接,达到复用么?(弊端可能就是一段时间后连接可能会失效?)