python web服务器连接释放_web.py释放数据库连接

参考:http://blog.sina.com.cn/s/blog_73951d180101eck0.html

webpy简单易用,而且非常轻量。尤其其操作数据库非常方便。

import web

db = web.database(dbn=DBN,host=HOST,db=DATABASE,user=USER,pw=PASSWORD, charset=CHARSET)

data = db.select(['i_project'],

what=' p_class ',

where='p_id = $PlatformBatchID',

limit='1',

vars=locals()

)

但却不会主动释放连接,随着时间连接数会越来越多。

监控mysql连接数

show full processlist;

show status like '%conn%';

解决方法

1)安装DBUtils

1.0)安装

pip install DBUtils

1.2)使用

db = web.database(maxshared=5,mincached=1,maxcached=5,maxconnections=10,dbn=DBN,host=HOST,db=DATABASE,user=USER,pw=PASSWORD, charset=CHARSET)

* mincached : 启动时开启的空连接数量(缺省值 0 意味着开始时不创建连接)

* maxcached: 连接池使用的最多连接数量(缺省值 0 代表不限制连接池大小)

* maxshared: 最大允许的共享连接数量(缺省值 0 代表所有连接都是专用的)如果达到了最大数量,被请求为共享的连接将会被共享使用。

* maxconnections: 最大允许连接数量(缺省值 0 代表不限制)

2)主动释放连接数及cursor

finally:

#close cursor

self.db._db_cursor().close()

#close connection

self.db._db_cursor().connection.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值