Python与MySQL如何保持长连接?

介绍

在python后端开发中,时常会与数据库交互,重复的断开、连接 会大大消耗数据库资源。

所以一般都是定义全局变量,来弥补这个缺陷。

但是 Python 与Mysql 长连接的过程中,如果长时间没有交互,它是会断开的。

再次执行sql语句是就会报错。

解决方案

在执行sql前, ping一下连接是否正常。

如果正常,则不受影响,正常执行sql就行了;

如果异常,则需要重新连接数据库。

代码

 1 # 此处为类中方法,相关参数也配置在了settings文件中
 2 def test_conn(self):
 3     try:
 4         self.conn.ping()
 5     except:
 6         self.conn = pymysql.connect(
 7             host=MYSQL_HOST,
 8             user=MYSQL_USER,
 9             password=MYSQL_PASSWORD,
10             database=MYSQL_DATABASE,
11             charset=MYSQL_CHARSET)
12         self.cursor = self.conn.cursor()

只需要在每次将执行sql前,调用一下这个方法即可。

博客同步:地址