有适合python使用的数据库连接池或代理吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有适合python使用的数据库连接池或代理吗相关的知识,希望对你有一定的参考价值。
有一个python的包叫 SQLAlchemy ,SQLAlchemy 是 Python Object Relational 映射器。这是python 的基本上默认的ORM标准了。
SQLAlchemy 的一个目标是提供能兼容众多数据库(如 SQLite、mysql、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird)的企业级持久性模型。
SQLAlchemy拥有多个独立的部分,可以单独或协同工作,下面是主要API组件:
上图中最重要的两个接口是Object Relational Mapper(ORM)和SQL Expression Language
SQL Expression Language可以独立于ORM使用,但ORM需要使用SQL Expression Language构建。
这个包有很强的功能,其中
create_engine() 会返回一个数据库引擎,echo 参数为 True 时,会显示每条执行的 SQL 语句,生产环境下可关闭。
sessionmaker() 会生成一个数据库会话类。这个类的实例可以当成一个数据库连接,它同时还记录了一些查询的数据,并决定什么时候执行 SQL 语句。
SQLAlchemy 自己维护了一个数据库连接池(默认 5 个连接) 参考技术A 推荐使用sqlalchemy+pymysql。DBUtils对python3支持不够。sqlalchemy+pymysql可以很好的支持
python3,可以通过gevent或pypy提供性能,并且openstack在orm方面也已经使用这种方案,可见性能和稳定性应该都还是可以的
以上是关于有适合python使用的数据库连接池或代理吗的主要内容,如果未能解决你的问题,请参考以下文章