Web.py中Sqlalchemy scoped_session的使用
2008-11-10 13:22:44 来源:WEB开发网核心提示:Sqlalchemy中, 创建Session是一件比较耗资源的事情.在Web环境中, 我们需要以一种节省的方式使用, SA提供了一个对Session的包装,scoped_session, 以确保能共享一个Session.文档中并没有直接给出最佳实践.我做了一点的google search后, 将代码改为:#sqlalc
Sqlalchemy中, 创建Session是一件比较耗资源的事情.
在Web环境中, 我们需要以一种节省的方式使用, SA提供了一个对Session的包装,scoped_session, 以确保能共享一个Session.
文档中并没有直接给出最佳实践.
我做了一点的google search后, 将代码改为:
#sqlalchemy
engine=create_engine('mysql://root:passwd@localhost/dbname',echo=True,pool_recycle=60)
#loading
defloadsa():
session=scoped_session(sessionmaker(autoflush=True,bind=engine))
web.ctx.sadbsession=session
web.ctx.db=session()
#unloading
defunloadsa():
web.ctx.db.close()
web.ctx.sadbsession.remove()
#processor
app.add_processor(web.loadhook(loadsa))
app.add_processor(web.unloadhook(unloadsa))
在web程序里, 可以:
db=web.ctx.db
db.query(user).....
Tags:Web py Sqlalchemy
编辑录入:爽爽 [复制链接] [打 印][]
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
- ››WEBGAME龙虎榜,《传奇国度》成黑马
- ››WebQQ 2.0添加谷歌音乐方法
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
- ››WebBrowser组件的execWB方法——Delphi控制浏览器...
- ››Web前端设计模式--制作漂亮的弹出层
- ››PySide: 信号、槽
- ››PySide: 简单窗体布局
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
更多精彩
赞助商链接