我应该在MySQLdb中保持数据库连接打开吗?

时间:2015-09-17 12:17:27

标签: python mysql twitter

我正在python中编写一个脚本来收听twitter流API,它将跟踪特定关键字并使用MySQLdb将它们插入mysql数据库。我不知道选择哪种方式:

  1. 对于每个传入的推文,打开数据库连接,插入数据库,然后关闭连接。
  2. 打开数据库连接并为传入的推文执行插入命令,而不是完全关闭连接。
  3. 我认为该脚本每秒会收到1-10条推文。

1 个答案:

答案 0 :(得分:0)

这取决于你的脚本应该如何运行,但它应该在某个时刻关闭连接 - 至少在进程终止时一次。假设它是一个长时间运行的进程(守护进程等),最简单的策略是使用“with”块来确保连接关闭,即:

with MySQLdb.connect(**kw) as db:
    while some_condition():
        do_stuff_with(db)

但是你可能需要更多的东西,因为MySQL倾向于close idle connections by itself