爬虫mysql,redis重新连接和关闭连接
报错
pymysql.err.InterfaceError: (0, '')
在python 的多线程里 同时使用一个MySQL链接导致的----要把mysql数据库连接放入函数中!
#使用多线程等,切忌全局变量
conn="127.0.0.1", user="root",password="123", database="future", charset="utf8")
cur = conn.cursor()
#在执行sql前插入下行代码------实现断开自动重连
conn.ping(reconnect=True) #ping是否连接,如果没有连接会重新连接数据库
sql = 'INSERT INTO 表 VALUES (NULL,数据)' cur.execute(sql) conn.commit()
python 关闭 redis连接对象
import redis r = redis.Redis()
#因为redis没有关闭具体某一个对象 以下是关闭连接池中一个
r.connection_pool.disconnect()
#如果使用多线程,创建redis对象放入函数中 #redis连接数会暴增,时间过长会卡断报错程序,无法新的redis连接 #解决方法 # 1.redis修改连接最大数量 #redis客户端 #查看连接数量 info clients #查询可连接最多数 CONFIG GET maxclients #修改连接最大数 config set maxclients 10000 #可以设置redis允许的最大连接数
本文章仅供学习参考,如有版权侵犯,请联系作者修改,转载请注明出处!