首頁 > 資料庫 > mysql教程 > 如何在 Python 中為持久連線啟用 MySQLdb 中的自動客戶端重新連線?

如何在 Python 中為持久連線啟用 MySQLdb 中的自動客戶端重新連線?

Linda Hamilton
發布: 2024-11-22 12:06:11
原創
749 人瀏覽過

How to Enable Automatic Client Re-connection in MySQLdb for Persistent Connections in Python?

MySQLdb:啟用自動客戶端重新連接

在 Python 中,MySQLdb 函式庫提供了一種與 MySQL 資料庫互動的便捷方式。一個常見的挑戰是在暫時中斷的情況下保持持久連接。

為了解決這個問題,PHP 中存在一個涉及 MySQL 選項的解決方案,但使用者在使用 MySQLdb 複製它時遇到困難。

解決方案:

MySQLdb中啟用自動重連的關鍵在於包裝了一個解決方案:execute()

以下Python 程式碼示範了一個解決方案:

import MySQLdb

class DB:
  conn = None

  def connect(self):
    self.conn = MySQLdb.connect()

  def query(self, sql):
    try:
      cursor = self.conn.cursor()
      cursor.execute(sql)
    except (AttributeError, MySQLdb.OperationalError):
      self.connect()
      cursor = self.conn.cursor()
      cursor.execute(sql)
    return cursor

# Example usage
db = DB()
sql = "SELECT * FROM foo"
cur = db.query(sql)
# Sleep for a long time to simulate connection timeout
time.sleep(60 * 60 * 24)
cur = db.query(sql)
# Connection is still valid and usable
登入後複製

在這種方法中,query()函數代表使用者管理連接,確保任何遺失的連接都可以重新連接。自動建立。

以上是如何在 Python 中為持久連線啟用 MySQLdb 中的自動客戶端重新連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板