当前位置:Gxlcms > 数据库问题 > 关于ORM,以及Python中SQLAlchemy的scoped_session

关于ORM,以及Python中SQLAlchemy的scoped_session

时间:2021-07-01 10:21:17 帮助过:28人阅读

(object relational mapping):对象关系映射

python面向对象,而数据库是关系型。

orm是将数据库关系映射为Python中的对象,不用直接写SQL。

缺点是性能略差

 

通过sessionmaker,我们得到一个类,一个能产生session的工厂。

而使用scoped_session的目的,一言以蔽之:为了线程安全

scoped_session类似单例模式,当我们调用使用的时候,会先在Registry里找找之前是否已经创建session了。

要是有,就把这个session返回。

要是没有,就创建新的session,注册到Registry中以便下次返回给调用者。

scoped_session的实现使用了thread local storage技术,使session实现了线程隔离

 

关于ORM,以及Python中SQLAlchemy的scoped_session

标签:nmake   obj   对象   直接   thread   单例   ssi   线程安全   创建   

人气教程排行