码迷,mamicode.com
首页 > 数据库 > 详细

关于ORM,以及Python中SQLAlchemy的scoped_session

时间:2018-01-02 23:14:12      阅读:360      评论:0      收藏:0      [点我收藏+]

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

orm(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   线程安全   创建   

原文地址:https://www.cnblogs.com/geeklove01/p/8179220.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!