查阅一番资料后,大概了解了下应用上下文的机制。
在 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.我能不能在应用上下文结束时不关闭连接,这样下次有请求来不就不用再去创建连接,达到复用么?(弊端可能就是一段时间后连接可能会失效?)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.