DBUtils 是一套用于管理数据库连接池的 Python 包,可以自动管理连接对象的创建和释放。并允许对非线程安全的数据库接口进行线程安全包装。DBUtils 可为高频度高并发的数据库访问提供更好的性能。
DBUtils 提供两种外部接口:PersistentDB 和 PooledDB。
PersistentDB 提供线程专用的数据库连接,并自动管理连接。为每个线程创建一个连接,线程即使调用了 close 方法也不会关闭连接,只是把连接重新放到连接池,供自己线程再次使用。当线程终止时,连接自动关闭。
PooledDB 提供线程间可共享的数据库连接,并自动管理连接。创建一批连接并放到连接池中,供所有线程共享使用。
PersistentDB 和 PooledDB 都是为了重用数据库连接来提高性能,并保持数据库的稳定性。PersistentDB 将会保持一定数量的连接供频繁使用,在这种情况下总是保持固定数量的连接。如果应用程序频繁的启动和关闭线程,最好使用 PooledDB。
dmpython 支持 DBUtils1.3-DBUtils3.02 之间的版本。其中,DBUtils1.3-DBUtils2.0 版本和 DBUtils2.0 以上-DBUtils3.02 版本的导入模块用法略有不同,具体的细节在下面的章节中会进行介绍。
DBUtils 的用法分为两步:一是创建连接池;二是从连接池中获取连接。
下面对 PersistentDB 和 PooledDB 分别进行介绍。
一 使用 PersistentDB 创建连接池。
讯享网
二 从连接池获取连接的方法。
获取连接的方法为 conn = POOL.connection()。
获取到的连接的使用方法可以参考 dmPython 使用手册中 Connection 接口的使用方法,具体操作实例如下:
讯享网
一 使用 PooledDB 创建连接池。
二 从连接池获取连接的方法。
获取连接的方法为 conn=POOL.connection()。具体用法和 PersistentDB 一样。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/167645.html