【问题标题】:Proper location to set up MySQLdb connection in Pylons: app_globals? Thread safety?在 Pylons 中设置 MySQLdb 连接的正确位置:app_globals?线程安全?
【发布时间】:2010-11-03 09:44:46
【问题描述】:

我想在 Pylons 中使用 MySQLdb,但不知道实际连接的位置。在 app_globals.py 中建立连接似乎很方便:

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

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

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

【问题讨论】:

  • 有什么理由不能为 Pylons SQLAlchemy 使用默认值?
  • 我可以,虽然我不需要做 ORM。感谢您提出这个问题,我将看看您可以在没有 ORM 的情况下使用 SQLAlchemy 做什么。谢谢!
  • 你几乎可以做任何事情,它支持通过自己的 sql 实现和纯文本查询进行直接查询,并作为 mysqldb 库之上的薄层。
  • 我正在尝试使用 SQLAlchemy,这导致了我的下一个问题...stackoverflow.com/questions/4047735/…

标签: python mysql pylons


【解决方案1】:

总结您的问题的 cmets:您可能应该使用 SQLAlchemy 的非 ORM 功能,例如 SQL Expression Languageengine API,它们都可以让您仍然获得 SQLAlchemy 的一些好处,而无需一路走下去最高可达 ORM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-12
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    相关资源
    最近更新 更多