Python MySQL 连接池

原创 2017年08月31日 23:12:15

Config.py

DB_HOST_1="192.167.121.151";
DB_HOST_2="192.167.121.152";
DB_HOST_3="192.167.121.153";
DB_HOST_4="192.167.121.154";
DB_HOST_5="192.167.121.155";
DB_HOST_6="192.167.121.156";
DB_HOST_7="192.167.121.157";
DB_HOST_8="192.167.121.158";
DB_PORT=3306;
DB_NAME="ys_api";
DB_USER="root";
DB_PWD="pwdtest";
DB_CHAR="utf8mb4";
DB_MIN_CACHED=200;
DB_MAX_CACHED=200;
DB_MAX_SHARED=3000;
DB_MAX_CONNECYIONS=10000;
DB_BLOCKING=True;
DB_MAX_USAGE=0;
DB_SET_SESSION=None;

MySQLConn.py

import MySQLdb
from MySQLdb.cursors import DictCursor
from DBUtils.PooledDB import PooledDB

import Config
#print 'class'
class MySQLConn(object):
        __pool = None
        def __init__(self):
                #for i in range(0):
                self._conn_151=MySQLConn.__getConn(self,Config.DB_HOST_1)
                self._conn_152=MySQLConn.__getConn(self,Config.DB_HOST_2)
                self._conn_153=MySQLConn.__getConn(self,Config.DB_HOST_3)
                self._conn_154=MySQLConn.__getConn(self,Config.DB_HOST_4)
                self._conn_155=MySQLConn.__getConn(self,Config.DB_HOST_5)
                self._conn_156=MySQLConn.__getConn(self,Config.DB_HOST_6)
                self._conn_157=MySQLConn.__getConn(self,Config.DB_HOST_7)
                self._conn_158=MySQLConn.__getConn(self,Config.DB_HOST_8)
                self._conn_base=MySQLConn.__getConn(self,Config.DB_HOST_8)
                #ip='192.167.121.15'+str(i+1)
                #self._conn = MySQLConn.__getConn(ip)
                #self._cursor = self._conn.cursor()



        @staticmethod
        def __getConn(self,ip):
                if MySQLConn.__pool is None:
                        #print ip,Config.DB_PORT,Config.DB_USER,Config.DB_PWD,Config.DB_CHAR
                        #__pool = PooledDB(creator=MySQLdb,mincached=1,maxcached=30,maxusage=Config.DB_MAX_USAGE,host=ip,port=Config.DB_PORT,user=Config.DB_USER,passwd=Config.DB_PWD,db=Config.DB_NAME,use_unicode=False,charset=Config.DB_CHAR,cursorclass=DictCursor,maxusage=10000) 
                        __pool = PooledDB(creator=MySQLdb,mincached=1,maxcached=10,maxusage=Config.DB_MAX_USAGE,host=ip,port=Config.DB_PORT,user=Config.DB_USER,passwd=Config.DB_PWD,db=Config.DB_NAME,use_unicode=False,charset=Config.DB_CHAR,cursorclass=DictCursor)
                return __pool.connection()

        desc='this is mysql pool !'
        def dispose(self,isEnd=1):
                if isEnd==1:
                    self.end('commit')
                else:
                    self.end('rollback');
                self._cursor.close()
                self._conn.close()
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python学习一:基于DBUtils和pymysql的MySQL数据库连接池封装

Python安装及配置略,本文前默认已经配置好Python环境。 打开cmd,输入python,出现以下画面表示Python安装成功。 需要库1、DBUtils 下载地址:DBUtils ...

Python实现Mysql数据库连接池

python连接Mysql数据库: python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,而且...

python-MySQL学习笔记-第六章-Connector/Python连接池(Connection Pooling)

python-MySQL学习笔记-第六章-Connector/Python连接池(Connection Pooling)

Druid简单高性能MySQL连接池

  • 2015-05-20 14:07
  • 2.36MB
  • 下载

Python 数据库的连接池

在Python中如果对象定义了__del__方法的话,在对象的引用记数为0时会自动调用__del__方法(很象c++中的析构函数),但如果A对象引用B对象,B对象又引用A对象,就形成循环引用,此时A,...

一个简单的python连接池,以及DBUtil.PooledDB的使用

http://www.dbafree.net/?p=1125   的一个很简单的连接池,基于线程安全的queue来实现,分享下: #!/home/oracle/dbapython/bin...

mysql数据连接池

  • 2008-06-19 15:01
  • 604KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)