python – MySQL,我应该在需要时保持连接还是连接?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – MySQL,我应该在需要时保持连接还是连接?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1354字,纯文字阅读大概需要2分钟。
内容图文
![python – MySQL,我应该在需要时保持连接还是连接?](/upload/InfoBanner/zyjiaocheng/912/5fdcd6d332c04b7a900339215facb5a3.jpg)
我一直在将温度记录到MySQL数据库(每5分钟读取10个传感器),并且一直在使用Python,但我想知道一些事情……
目前,当我第一次运行程序时,我运行正常的连接到MySQL,它只运行一次.
db = MySQLdb.connect(mysql_server, mysql_username, mysql_passwd, mysql_db)
cursor = db.cursor()
然后我收集数据并成功将其发布到数据库.然后脚本会休眠5分钟,然后再次启动并再次收集和发布数据,依此类推.但是,我只连接一次,我永远不会断开连接;它只是继续循环.如果我终止程序,我只会断开连接.
这是最好的做法吗?也就是说,保持连接一直打开到MySQL服务器,或者在完成插入/提交后我应该断开连接吗?
我问的原因是:我不得不重新启动脚本,因为我的MySQL服务器可能已脱机或出现其他问题.我是不是该:
>继续做我正在做的事情,只需通过重新连接处理任何MySQL数据库断开连接,
>将它放在crontab中,每五分钟收集一次数据,没有循环,没有睡眠,或者
>还有别的吗?
解决方法:
MySQL服务器配置为处理固定数量有限的连接.绑定一个不经常使用的连接并不是一个好习惯.因此,通常您应该在完成连接后立即关闭连接,并仅在需要时再次连接. MySQLdb的连接是上下文管理器,因此您可以使用with语句语法自动关闭连接.
connection = MySQLdb.connect(
host=config.HOST, user=config.USER,
passwd=config.PASS, db=config.MYDB, )
with connection as cursor:
print(cursor)
# the connection is closed for you automatically
# when Python leaves the `with-suite`.
为了提高稳健性,您可能希望使用try..except来处理(甚至在第一次运行时)连接无法建立连接的情况.
话虽如此,我只是把它放在crontab条目中,免除了睡觉.
内容总结
以上是互联网集市为您收集整理的python – MySQL,我应该在需要时保持连接还是连接?全部内容,希望文章能够帮你解决python – MySQL,我应该在需要时保持连接还是连接?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。