代码之家  ›  专栏  ›  技术社区  ›  mrjf

在塔架中设置mysqldb连接的正确位置:app_globals?螺纹安全?

  •  2
  • mrjf  · 技术社区  · 14 年前

    我想在塔架中使用mysqldb,但无法确定实际连接的位置。在app_globals.py中建立连接似乎很方便:

    class Globals(object):
        def __init__(self):
            self.db = MySQLdb.connect()
    

    然后控制器可以通过全局访问数据库。但是,这似乎会导致“mysql已经消失”错误的问题,并与并发请求崩溃,所以我认为这是不好的,因为线程安全。

    最好的方法是什么?每个控制器应该打开然后关闭一个MySQL连接吗?谢谢!

    1 回复  |  直到 14 年前
        1
  •  1
  •   Brighid McDonnell    14 年前

    总结对您的问题的评论:您可能应该使用SQLAlchemy的非ORM特性,例如 SQL Expression Language 以及 engine API 这样,您仍然可以获得SQLAlchemy的一些好处,而无需一直走到ORM ness。